File: arvai_test.c

package info (click to toggle)
cbflib 0.9.7%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 65,272 kB
  • sloc: ansic: 131,361; python: 22,780; sh: 3,108; makefile: 2,088; yacc: 659; java: 223; f90: 214; xml: 210; cpp: 58
file content (80 lines) | stat: -rw-r--r-- 1,884 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
 *  arvai_test.c
 *  
 *
 *  Created by Herbert J. Bernstein on 3/2/10.
 *  Copyright 2010 __MyCompanyName__. All rights reserved.
 *
 */


/******************* Begin testcbf.c ***********************/

#include <stdio.h>
#include <cbf.h>
#include <string.h>

int main (int argc, char ** argv) {
	char buf[256];
	char *data_buffer;
    char *temp_buffer;
	int data_buffer_len=0;
	int read_count;
	char filename[] = "/tmp/mb_LP_1_001_orig.cbf.bz2";
	FILE *fp;
	int ierr;
	cbf_handle cbf=NULL;
	
    CBF_UNUSED(argc);
    CBF_UNUSED(argv);
	
	cbf_failnez (cbf_make_handle (&cbf))
    
	sprintf(buf,"bunzip2 -c %s 2>/dev/null\n",filename);
	if((fp = popen(buf,"r")) == NULL)
		return -1;
	
    
	data_buffer = (char *)malloc(sizeof(char)*1024*1024);
    if (data_buffer == NULL) {
        fprintf(stderr,"not enough memory.\n");
        fflush(stderr);
        pclose(fp);
        return -1;
    }
    while ((read_count = fread (data_buffer + data_buffer_len, 1, 1024*1024, fp)) != 0) {
        data_buffer_len += read_count;
        if (read_count < 1024*1024) break;
        temp_buffer = (char*)malloc(sizeof(char)*data_buffer_len+1024*1024);
        if (temp_buffer == NULL) {
            fprintf(stderr,"not enough memory.\n");
            fflush(stderr);
            pclose(fp);
            return -1;
        }
        memmove(temp_buffer,data_buffer,data_buffer_len);
        free(data_buffer);
        data_buffer=temp_buffer;
    }
	free((void *)data_buffer);
    
    fprintf(stderr,"data_buffer_len=%d\n",data_buffer_len); fflush(stderr);
    ierr = cbf_read_buffered_file (cbf, NULL, MSG_DIGESTNOW, data_buffer, data_buffer_len);
    fprintf(stderr,"ierr=%d \n",ierr); fflush(stderr);
	pclose(fp);
    if (cbf) {
	  cbf_failnez(cbf_free_handle(cbf));
    }
    exit(0);
}

int
big_endian ( void )
{
	int x=1;
    
	if ( *(char *)&x == 1)
		return 0;
	else
		return 1;
}