}
sepp = r + strcspn(r, " ");
sepc = *sepp;
- *sepp = '\0';
+ strcpy(sepp, "");
args->argv[++(args->argc)-1] = strdup_chk(q, "args.argv[]");
q = r = sepp + 1;
} while(sepc == ' ');
long l;
MONCMDLINE *moncmdl = NULL;
- if(*line == '\n' || *line == '\0') {
+ if(!line[0] || line[0] == '\n') {
return NULL;
}
p = tokens = strdup_chk(line, "tokens");
void monitor()
{
- char *buf, *p;
+ char *buf = NULL;
+ int i;
MONCMDLINE *moncmdl;
MONCMDTYPE cmdtype = MONREPEAT;
fprintf(stdout, "- ");
buf = malloc_chk(MONINSIZE + 1, "monitor.buf");
fgets(buf, MONINSIZE, stdin);
- if((p = strchr(buf, '\n')) != NULL) {
- *p = '\0';
+ fprintf(stdout, "%s", buf);
+ if(!buf[0]) {
+ cmdtype = MONQUIT;
+ }
+ if((i = strcspn(buf, "\n")) > 0 || buf[0] == '\n') {
+ buf[i] = '\0';
}
if((moncmdl = monlinetok(buf)) != NULL) {
cmdtype = monitorcmd(moncmdl->cmd, moncmdl->args);
if(cmdtype == MONQUIT) {
shutdown();
freebps();
- free_code_cmdtype();
+ free_cmdtable(HASH_CODE);
freecerr();
exit(0);
}