예제 #1
0
파일: stsh.c 프로젝트: Th3Falc0n/mikrOS
int main(int argc, char* args[])
{
    char epath[512];
    char instr[512];

    cd("ibin");

    while(1) {
        getExecPath(epath);
        printf("$%s> ", epath);
        getln(instr);

        char* cmd = strtoknc(instr, " ");

        if(cmd != 0) {
            char* pargs[64];
            int n = 0;

            do {
                pargs[n] = strtoknc(0, " ");
            } while(pargs[n++] != 0);

            fsexec(cmd, pargs, 0, 0, 0);

            printf("\n");
        }
    }

    return 0;
}
예제 #2
0
파일: string.c 프로젝트: Th3Falc0n/mikrOS
char* strtok(char* str, const char* delimiters) {
    if(str != 0) { //TODO better but if you call strtok and after that strtoknc will still be a memory leak. -> Don't use strtoknc
        if(fr != 0) {
            free(fr);
        }
        fr = strclone(str);
        return strtoknc(fr, delimiters);
    }
    return strtoknc(0, delimiters);
}
예제 #3
0
파일: string.c 프로젝트: LolHens/mikrOS
char* strtok(char* str, const char* delimiters) {
    if(str != 0) { //TODO no way to free the cloned string :|
        return strtoknc(strclone(str), delimiters);
    }
    return strtoknc(0, delimiters);
}