示例#1
0
static int ticket_read(char *ticket_filename, struct chirp_ticket *ct)
{
	CHIRP_FILE *tf = cfs_fopen(ticket_filename, "r");
	if(!tf)
		return 0;
	char *b;
	size_t l;
	if(!cfs_freadall(tf, &b, &l)) {
		cfs_fclose(tf);
		return 0;
	}
	cfs_fclose(tf);

	int result = chirp_ticket_read(b, ct);

	free(b);

	return result;
}
示例#2
0
static int ticket_read(char *ticket_filename, struct chirp_ticket *ct)
{
	buffer_t B;
	CHIRP_FILE *tf = cfs_fopen(ticket_filename, "r");
	if(!tf)
		return 0;

	buffer_init(&B);
	buffer_abortonfailure(&B, 1);

	if(!cfs_freadall(tf, &B)) {
		cfs_fclose(tf);
		return 0;
	}
	cfs_fclose(tf);

	int result = chirp_ticket_read(buffer_tostring(&B, NULL), ct);

	buffer_free(&B);

	return result;
}