Mercurial > ~dholland > hg > tradcpp > index.cgi
comparison main.c @ 142:26ee741196d1
Allow complain(NULL, format, ...)
author | David A. Holland |
---|---|
date | Sat, 13 Jul 2013 12:38:54 -0400 |
parents | 63414cddf09c |
children | ed45f2d8d3bc |
comparison
equal
deleted
inserted
replaced
141:63414cddf09c | 142:26ee741196d1 |
---|---|
933 return false; | 933 return false; |
934 } | 934 } |
935 | 935 |
936 DEAD static | 936 DEAD static |
937 void | 937 void |
938 usage(const char *argv0, const char *fmt, ...) | 938 usage(const char *progname, const char *fmt, ...) |
939 { | 939 { |
940 const char *progname; | |
941 va_list ap; | 940 va_list ap; |
942 | |
943 progname = strrchr(argv0, '/'); | |
944 progname = progname == NULL ? argv0 : progname + 1; | |
945 | 941 |
946 fprintf(stderr, "%s: ", progname); | 942 fprintf(stderr, "%s: ", progname); |
947 va_start(ap, fmt); | 943 va_start(ap, fmt); |
948 vfprintf(stderr, fmt, ap); | 944 vfprintf(stderr, fmt, ap); |
949 va_end(ap); | 945 va_end(ap); |
1028 // main | 1024 // main |
1029 | 1025 |
1030 int | 1026 int |
1031 main(int argc, char *argv[]) | 1027 main(int argc, char *argv[]) |
1032 { | 1028 { |
1029 const char *progname; | |
1033 const char *inputfile = NULL; | 1030 const char *inputfile = NULL; |
1034 const char *outputfile = NULL; | 1031 const char *outputfile = NULL; |
1035 struct place cmdplace; | 1032 struct place cmdplace; |
1036 int i; | 1033 int i; |
1037 | 1034 |
1035 progname = strrchr(argv[0], '/'); | |
1036 progname = progname == NULL ? argv[0] : progname + 1; | |
1037 complain_init(progname); | |
1038 | |
1038 init(); | 1039 init(); |
1039 | 1040 |
1040 for (i=1; i<argc; i++) { | 1041 for (i=1; i<argc; i++) { |
1041 if (argv[i][0] != '-') { | 1042 if (argv[i][0] != '-') { |
1042 break; | 1043 break; |
1057 place_setcommandline(&cmdplace, i+1, 1); | 1058 place_setcommandline(&cmdplace, i+1, 1); |
1058 if (check_arg_option(argv[i]+1, &cmdplace, argv[i+1])) { | 1059 if (check_arg_option(argv[i]+1, &cmdplace, argv[i+1])) { |
1059 i++; | 1060 i++; |
1060 continue; | 1061 continue; |
1061 } | 1062 } |
1062 usage(argv[0], "Invalid option %s", argv[i]); | 1063 usage(progname, "Invalid option %s", argv[i]); |
1063 } | 1064 } |
1064 if (i < argc) { | 1065 if (i < argc) { |
1065 inputfile = argv[i++]; | 1066 inputfile = argv[i++]; |
1066 } | 1067 } |
1067 if (i < argc) { | 1068 if (i < argc) { |
1068 outputfile = argv[i++]; | 1069 outputfile = argv[i++]; |
1069 } | 1070 } |
1070 if (i < argc) { | 1071 if (i < argc) { |
1071 usage(argv[0], "Extra non-option argument %s", argv[i]); | 1072 usage(progname, "Extra non-option argument %s", argv[i]); |
1072 } | 1073 } |
1073 | 1074 |
1074 mode.output_file = outputfile; | 1075 mode.output_file = outputfile; |
1075 | 1076 |
1076 loadincludepath(); | 1077 loadincludepath(); |