sample-cmd.c
1 #include <stdio.h>
2
3 #include "zlibio.h"
4 #include "cmdopt.h"
5
6
7 int main( int argc, char *argv[] )
8 {
9 int ret, val, mode = 'c';
10 int ind, n;
11 CmdOpt opt;
12 LongOpt lopts[] = { { "compress", 0, NULL, 'c' },
13 { "decompress", 0, NULL, 'd' } };
14
15 CmdOpt_Init( &opt, argc, argv, "cd", lopts );
16 opt.opterr = 1;
17 while ( ( val = CmdOpt_Get( &opt ) ) != -1 )
18 mode = val;
19
20 ind = opt.optind;
21 n = argc - ( ind = opt.optind );
22 if ( ( mode != 'c' && mode != 'd' ) || n != 2 )
23 {
24 fprintf( stderr, "Usage: %s [cd] input output\n", opt.argv[0] );
25 return -1;
26 }
27
28 if ( mode == 'c' )
29 {
30 if ( ( ret = ZIO_Compress( argv[ind], argv[ ind + 1 ] ) ) != ZIO_OK )
31 fprintf( stderr, "zio_compress(): %d\n", ret );
32 }
33 else
34 {
35 if ( ( ret = ZIO_Decompress( argv[ind], argv[ ind + 1 ] ) ) != ZIO_OK )
36 fprintf( stderr, "zio_decompress(): %d\n", ret );
37 }
38
39 return ret;
40 }