Merge branch 'getopt' of dj3vande/DoublePlusUnzip into master

remotes/1696625325996769446/tmp_refs/heads/master
silverwizard 5 years ago committed by Gitea
commit a1184bd3fb
  1. 33
      dpu.c

33
dpu.c

@ -2,27 +2,38 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <getopt.h>
int main (int argc, char **argv){ int main (int argc, char **argv){
char name[FILENAME_MAX]; char name[FILENAME_MAX];
FILE *bob,*joe,*moe; FILE *bob,*joe,*moe;
int thing, factor, arg; int thing, factor, arg;
if(argc >= 3){ int modifier;
char *end_char; factor=0;
factor = strtol(argv[1], &end_char, 0); while((modifier=getopt(argc,argv,"0123456789"))+1){
if(!*(argv[1]) || *end_char) switch(modifier){
{ case '0': case '1': case '2': case '3': case '4':
fputs("I can haz number?\n", stderr); case '5': case '6': case '7': case '8': case '9':
factor=factor*10+modifier-'0';
break;
default:
fputs("You're going to have to be clearer about what you want.\n",stderr);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
arg = 2;
}else{
factor = 9;
arg = 1;
} }
if(argc<2){ if(factor==0){
factor=9;
}
argc-=optind;
argv+=optind;
arg=0;
if(argc<1){
fputs("I pity the fool who don't have an input file!\n",stderr); fputs("I pity the fool who don't have an input file!\n",stderr);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
if(argc>1){
fputs("Be patient, one thing at a time!\n",stderr);
}
if(strlen(argv[arg]) >= FILENAME_MAX - 4) if(strlen(argv[arg]) >= FILENAME_MAX - 4)
{ {
fputs("It's a filename, not a novel.\n", stderr); fputs("It's a filename, not a novel.\n", stderr);

Loading…
Cancel
Save