(svn r6244) -Fix: allow any order for strgen parameters

This commit is contained in:
glx 2006-08-30 20:08:58 +00:00
parent 1983c07955
commit d8e6f28365
1 changed files with 46 additions and 44 deletions

View File

@ -1243,30 +1243,30 @@ static inline char *replace_pathsep(char *s) { return s; }
int CDECL main(int argc, char* argv[])
{
char pathbuf[256];
const char *src_dir, *dest_dir;
const char *src_dir = ".";
const char *dest_dir = NULL;
int show_todo = 0;
if (argc > 1 && (strcmp(argv[1], "-v") == 0 || strcmp(argv[1], "--version") == 0)) {
while (argc > 1 && *argv[1] == '-') {
if (strcmp(argv[1], "-v") == 0 || strcmp(argv[1], "--version") == 0) {
puts("$Revision$");
return 0;
}
if (argc > 1 && (strcmp(argv[1], "-t") == 0 || strcmp(argv[1], "--todo") == 0)) {
if (strcmp(argv[1], "-t") == 0 || strcmp(argv[1], "--todo") == 0) {
show_todo = 1;
argc--, argv++;
continue;
}
if (argc > 1 && (strcmp(argv[1], "-w") == 0 || strcmp(argv[1], "--warning") == 0)) {
if (strcmp(argv[1], "-w") == 0 || strcmp(argv[1], "--warning") == 0) {
show_todo = 2;
argc--, argv++;
continue;
}
if (argc > 1 && (
strcmp(argv[1], "-h") == 0 ||
strcmp(argv[1], "--help") == 0 ||
strcmp(argv[1], "-?") == 0
)) {
if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") == 0) {
puts(
"strgen - $Revision$\n"
" -v | --version print version information and exit\n"
@ -1282,9 +1282,8 @@ int CDECL main(int argc, char* argv[])
return 0;
}
src_dir = dest_dir = ".";
if (argc > 2 && (strcmp(argv[1], "-s") == 0 || strcmp(argv[1], "--source_dir") == 0)) {
src_dir = dest_dir = replace_pathsep(argv[2]); // if dest_dir is not specified, it equals src_dir
src_dir = replace_pathsep(argv[2]);
argc -= 2, argv += 2;
}
@ -1292,6 +1291,9 @@ int CDECL main(int argc, char* argv[])
dest_dir = replace_pathsep(argv[2]);
argc -= 2, argv += 2;
}
}
if (dest_dir == NULL) dest_dir = src_dir; // if dest_dir is not specified, it equals src_dir
/* strgen has two modes of operation. If no (free) arguments are passed
* strgen generates strings.h to the destination directory. If it is supplied