예제 #1
0
gboolean vcd_dump(struct state *state, guint8 *samples)
{
	struct vcd_state s = {
		.state = state,
		.samples = samples
	};

	if (state->outfile == NULL)
		s.out = stdout;
	else {
		if ((s.out = fopen(state->outfile, "w")) == NULL) {
			perror(state->outfile);
			return FALSE;
		}
	}

	if (!write_header(&s)) {
		fclose(s.out);
		return FALSE;
	}

	dump_values(&s);
	fclose(s.out);
	return TRUE;
}
예제 #2
0
파일: dump.c 프로젝트: VibertJ/GribApi.NET
static int dump_handle(FILE* out,grib_handle* h)
{
	grib_keys_iterator* iter  = grib_keys_iterator_new(h,
		GRIB_KEYS_ITERATOR_SKIP_READ_ONLY|GRIB_KEYS_ITERATOR_SKIP_DUPLICATES,NULL);

	while(grib_keys_iterator_next(iter))
	{
		grib_accessor* a = grib_keys_iterator_get_accessor(iter);
		dump_values(out,h,grib_keys_iterator_get_name(iter),
			a->flags & GRIB_ACCESSOR_FLAG_CAN_BE_MISSING);
	}

	grib_keys_iterator_delete(iter);

	return 0;
}