MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / cli_strip_flag_value

Function cli_strip_flag_value

src/main.c:587–601  ·  view source on GitHub ↗

Strip a flag AND its following value from argv, returning the value (a pointer * into the original argv strings, valid for the process lifetime) or NULL if the * flag is absent. */

Source from the content-addressed store, hash-verified

585 * into the original argv strings, valid for the process lifetime) or NULL if the
586 * flag is absent. */
587static const char *cli_strip_flag_value(int *argc, char **argv, const char *flag) {
588 for (int i = 0; i < *argc; i++) {
589 if (strcmp(argv[i], flag) != 0) {
590 continue;
591 }
592 const char *value = (i + SKIP_ONE < *argc) ? argv[i + SKIP_ONE] : NULL;
593 int remove_count = value ? 2 : 1;
594 for (int j = i; j < *argc - remove_count; j++) {
595 argv[j] = argv[j + remove_count];
596 }
597 *argc -= remove_count;
598 return value;
599 }
600 return NULL;
601}
602
603/* Portable "is fd a terminal?" — _isatty on Windows, isatty on POSIX. */
604#ifdef _WIN32

Callers 1

run_cliFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected