diff options
| author | Tristan Riehs <tristan.riehs@inria.fr> | 2026-07-05 17:23:32 +0200 |
|---|---|---|
| committer | Tristan Riehs <tristan.riehs@inria.fr> | 2026-07-05 17:23:32 +0200 |
| commit | cc96dd40bc1710cd20cc64f2f36622a1f01f174a (patch) | |
| tree | 2dd6bde7700cc2c95e1059ff0501605e9cff7d77 /src | |
| parent | 339d330fb1b709c95c1db54f02b2365f4fe03c1f (diff) | |
Fix handling of argc and argv
The subcommand's name must be kept in argv[0] for getopt to work
properly.
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -689,7 +689,7 @@ static void ftag_file(int argc, char **argv) /* TODO: add an edit command */ }; const int file_command_count = sizeof(file_commands)/ sizeof(struct ftag_command); - parse_args(argc, argv, file_commands, file_command_count); + parse_args(argc - 1, argv + 1, file_commands, file_command_count); } static void ftag_help(int, char **) @@ -960,7 +960,7 @@ static void ftag_sync(int argc, char **argv) { .name = "push", .func = ftag_sync_push } }; int sync_command_count = sizeof(sync_commands) / sizeof(struct ftag_command); - parse_args(argc, argv, sync_commands, sync_command_count); + parse_args(argc - 1, argv + 1, sync_commands, sync_command_count); } /* Check that the tag we are trying to create does not exist yet. If this @@ -1035,7 +1035,7 @@ static void ftag_tag(int argc, char **argv) /* TODO: add an edit command */ }; int tag_command_count = sizeof(tag_commands) / sizeof(struct ftag_command); - parse_args(argc, argv, tag_commands, tag_command_count); + parse_args(argc - 1, argv + 1, tag_commands, tag_command_count); } static void parse_args(int argc, @@ -1047,7 +1047,7 @@ static void parse_args(int argc, assert(command_count > 0); for (int i = 0; i < command_count; i++) { if (strcmp(argv[0], commands[i].name) == 0) { - commands[i].func(argc-1, argv+1); + commands[i].func(argc, argv); return; } } |
