Esempio n. 1
0
/****f* ROBOhdrs/doFile
*  NAME
*    doFile
*  SYNOPSIS
*    static void doFile(char *proj, char *fname)
*  SOURCE
*/
static void
doFile( char *proj, char *fname )
{
    char                buf[MAXLINE];

    /* backup */
    sprintf( buf, "/bin/cp -p %s %s~", fname, fname );
    system( buf );

    if ( parseCtagsX( doCtagsExec( fname ) ) < 1 )
    {
        fprintf( stderr, "no tags\n" );
        exit( 1 );
    }

    arrangeCtags( ctags );
    sprintf( buf, "%s~", fname );
    insertHeaders( ctags, proj, fname, buf );
}
Esempio n. 2
0
int io_writeImage(sParameterStruct * sSO2Parameters, sConfigStruct * config)
{
	FILE *fp;
	short *stBuffer;
	IplImage *img;
	CvMat *png;
	int l;
	int writen_bytes;
	char filename[512];
	int filenamelength = 512;
	int state;
	char *buffer;

	stBuffer = sSO2Parameters->stBuffer;

	/* generate filenames */
	state = createFilename(sSO2Parameters, config, filename, filenamelength, "png");
	if (state) {
		log_error("could not create txt filename");
		return state;
	}
	log_debug("filename created: %s", filename);

	/* convert the image buffer to an openCV image */
	// TODO: check if this has already been done
	// TODO: check return code
	img = bufferToImage(stBuffer);

	/*
	 * encode image as png to buffer
	 * playing with the compression is a huge waste of time with no benefit
	 */
	png = cvEncodeImage(".png", img, 0);

	l = png->rows * png->cols;
	cvReleaseImage(&img);

	// pry the actual buffer pointer from png
	buffer = (char *)malloc(l);
	memcpy(buffer, png->data.s, l);
	cvReleaseMat(&png);

	/* add headers */
	log_debug("insert headers %i", l);
	l = insertHeaders(&buffer, sSO2Parameters, config, l);

	/* save image to disk */
	log_debug("open new png file %i", l);
	fp = fopen(filename, "wb");
	if (fp) {
		writen_bytes = fwrite(buffer, 1, l, fp);
		state = writen_bytes == l ? 0 : 1;
		if (state) {
			log_error("PNG image wasn't written correctly");
		}
		fclose(fp);
	} else {
		state = 1;
		log_error("Couldn't open png file");
	}

	/* cleanup */
	free(buffer);

	if (!state) {
		log_message("png image written");
	}

	return state;
}