home *** CD-ROM | disk | FTP | other *** search
- /* vi:tabstop=4:shiftwidth=4:smartindent
- *
- * builtin.c - Parses the command line of a builtin command
- * into argc, argv, then calls the function.
- *
- */
-
- #include <ctype.h>
- #include "psh.h"
-
- int do_builtin(char *cmd_line, int (*cmd_fun)(int argc, char **argv))
- {
- char *argv[MAXLEN];
- int argc = 0;
- char *p = cmd_line;
-
- argv[argc++] = cmd_line;
-
- while (*p)
- {
- if (isspace(*p))
- {
- *p = '\0';
- while (isspace(*++p));
- if (*p)
- {
- argv[argc++] = p;
- }
- }
- else
- {
- p++;
- }
- }
- argv[argc] = NULL;
- return cmd_fun(argc, argv);
- }
-