Ejemplo n.º 1
0
int main(int argc, char * * argv)
{
	FILE * f;
	size_t n, off, size;
	uint8_t * buffer;

	if(argc < 3) {
		fprintf(stderr, "usage : %s out00_chunk.bin out01_chunk\n", argv[0]);
		return 1;
	}

	f = fopen(argv[1], "rb");
	if(!f) {
		fprintf(stderr, "cannot open '%s'\n", argv[1]);
		return 2;
	}
	fseek(f, 0, SEEK_END);
	n = ftell(f);
	fseek(f, 0, SEEK_SET);
	buffer = malloc(n);
	if(buffer == NULL) {
		fprintf(stderr, "malloc() error\n");
		return 3;
	}
	if(n != fread(buffer, 1, n, f))
		fprintf(stderr, "fread() error\n");
	fclose(f);
	off = n;
	f = fopen(argv[2], "rb");
	if(!f) {
		fprintf(stderr, "cannot open '%s'\n", argv[2]);
		return 2;
	}
	fseek(f, 0, SEEK_END);
	n = ftell(f);
	fseek(f, 0, SEEK_SET);
	size = off + n;
	buffer = realloc(buffer, size);
	if(buffer == NULL) {
		fprintf(stderr, "realloc() error\n");
		return 3;
	}
	if(n != fread(buffer + off, 1, n, f))
		fprintf(stderr, "fread() error\n");
	fclose(f);

	extract_strings(buffer, size);

	free(buffer);
	return 0;
}
Ejemplo n.º 2
0
//Extracts values form prhs, which are right hand side values in matlab.
Problem::Problem(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
  //If field_number != 1 checks are necessary to allow rearanging and skipping fields in input structure
  int field_number = mxGetFieldNumber(prhs[1],"res");
  if(field_number != -1)
    res = mxGetScalar(mxGetFieldByNumber(prhs[1], 0, field_number));
  field_number = mxGetFieldNumber(prhs[1],"prec");
  if(field_number != -1)
    prec = int(mxGetScalar(mxGetFieldByNumber(prhs[1], 0, field_number)));
  field_number = mxGetFieldNumber(prhs[1],"vars");
  if(field_number != -1)
    extract_vars(mxGetFieldByNumber(prhs[1], 0, field_number), var_names, vars);
  field_number = mxGetFieldNumber(prhs[1],"cnstrs");
  if(field_number != -1)
    extract_strings(mxGetFieldByNumber(prhs[1], 0, field_number), cnstrs);
  this->plhs = plhs;
  this->nlhs = nlhs;
};