diff options
Diffstat (limited to 'dos/argv.c')
-rw-r--r-- | dos/argv.c | 80 |
1 files changed, 40 insertions, 40 deletions
@@ -39,54 +39,54 @@ #define ALIGN_UP(p,t) ((t *)(((uintptr_t)(p) + (sizeof(t)-1)) & ~(sizeof(t)-1))) extern char __heap_start[]; -void *__mem_end = &__heap_start; /* Global variable for use by malloc() */ +void *__mem_end = &__heap_start; /* Global variable for use by malloc() */ int __parse_argv(char ***argv, const char *str) { - char *mem = __mem_end; - const char *p = str; - char *q = mem; - char *r; - char **arg; - int wasspace = 0; - int argc = 1; + char *mem = __mem_end; + const char *p = str; + char *q = mem; + char *r; + char **arg; + int wasspace = 0; + int argc = 1; - /* First copy the string, turning whitespace runs into nulls */ - for ( p = str ; ; p++ ) { - if ( *p <= ' ' ) { - if ( !wasspace ) { - wasspace = 1; - *q++ = '\0'; - } - } else { - if ( wasspace ) { - argc++; - wasspace = 0; - } - *q++ = *p; - } + /* First copy the string, turning whitespace runs into nulls */ + for (p = str;; p++) { + if (*p <= ' ') { + if (!wasspace) { + wasspace = 1; + *q++ = '\0'; + } + } else { + if (wasspace) { + argc++; + wasspace = 0; + } + *q++ = *p; + } - /* This test is AFTER we have processed the null byte; - we treat it as a whitespace character so it terminates - the last argument */ - if ( ! *p ) - break; - } + /* This test is AFTER we have processed the null byte; + we treat it as a whitespace character so it terminates + the last argument */ + if (!*p) + break; + } - /* Now create argv */ - arg = ALIGN_UP(q,char *); - *argv = arg; - *arg++ = mem; /* argv[0] */ + /* Now create argv */ + arg = ALIGN_UP(q, char *); + *argv = arg; + *arg++ = mem; /* argv[0] */ - q--; /* Point q to final null */ - for ( r = mem ; r < q ; r++ ) { - if ( *r == '\0' ) { - *arg++ = r+1; + q--; /* Point q to final null */ + for (r = mem; r < q; r++) { + if (*r == '\0') { + *arg++ = r + 1; + } } - } - *arg++ = NULL; /* Null pointer at the end */ - __mem_end = arg; /* End of memory we used */ + *arg++ = NULL; /* Null pointer at the end */ + __mem_end = arg; /* End of memory we used */ - return argc; + return argc; } |