Completing usage case
This commit is contained in:
parent
c1170fcb7d
commit
86f0da1e3a
45
src/c99.c
45
src/c99.c
@ -15,6 +15,45 @@ typedef int Prefs;
|
|||||||
#define PREFS_s 0x8
|
#define PREFS_s 0x8
|
||||||
|
|
||||||
|
|
||||||
|
/* c99 */
|
||||||
|
static int _c99_error(char const * message, int ret);
|
||||||
|
static int _c99_do(Prefs * prefs, char const * outfile, FILE * outfp,
|
||||||
|
char * infile);
|
||||||
|
static int _c99(Prefs * prefs, char const * outfile, int filec, char * filev[])
|
||||||
|
{
|
||||||
|
FILE * fp;
|
||||||
|
int ret = 0;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if(outfile != NULL && (fp = fopen(outfile, "w")) == NULL)
|
||||||
|
return _c99_error(outfile, 1);
|
||||||
|
for(i = 0; i < filec; i++)
|
||||||
|
ret |= _c99_do(prefs, outfile, fp, filev[i]);
|
||||||
|
if(fp != NULL)
|
||||||
|
fclose(fp);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int _c99_error(char const * message, int ret)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s", "c99: ");
|
||||||
|
perror(message);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int _c99_do(Prefs * prefs, char const * outfile, FILE * outfp,
|
||||||
|
char * infile)
|
||||||
|
{
|
||||||
|
FILE * infp;
|
||||||
|
|
||||||
|
if((infp = fopen(infile, "r")) == NULL)
|
||||||
|
return _c99_error(infile, 1);
|
||||||
|
/* FIXME implement */
|
||||||
|
fclose(infp);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* usage */
|
/* usage */
|
||||||
static int _usage(void)
|
static int _usage(void)
|
||||||
{
|
{
|
||||||
@ -52,5 +91,9 @@ int main(int argc, char * argv[])
|
|||||||
default:
|
default:
|
||||||
return _usage();
|
return _usage();
|
||||||
}
|
}
|
||||||
return 0;
|
if(optind == argc)
|
||||||
|
return _usage();
|
||||||
|
if(prefs & PREFS_c && outfile != NULL && optind+1 != argc)
|
||||||
|
return _usage();
|
||||||
|
return _c99(&prefs, outfile, argc - optind, &argv[optind]) == 0 ? 0 : 2;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user