commit e444d3b10c1abc84f59eea171cfdb637d9891c0b from: Marcel Rodrigues date: Fri Nov 14 17:45:46 2014 UTC Check if directory already exists. commit - bdb195d03d2b78f6f18de4b69de12fd3556b64f2 commit + e444d3b10c1abc84f59eea171cfdb637d9891c0b blob - 1eff6e3f51be0e78f3e048397e013a519cbca917 blob + dfe226f422b44d25456a909671aac60441471631 --- rover.c +++ rover.c @@ -808,11 +808,14 @@ main(int argc, char *argv[]) update_input(prompt, DEFAULT); while (igetstr(INPUT, INPUTSZ)) { ok = 1; - for (i = 0; i < rover.nfiles; i++) - if (!strcmp(FNAME(i), INPUT)) { + for (i = 0; i < rover.nfiles; i++) { + int n = strlen(FNAME(i)); + if (FNAME(i)[n - 1] == '/') n--; + if (!strncmp(FNAME(i), INPUT, n)) { ok = 0; break; } + } update_input(prompt, ok ? GREEN : RED); } mvhline(LINES - 1, 0, ' ', STATUSPOS); @@ -829,11 +832,14 @@ main(int argc, char *argv[]) update_input(prompt, DEFAULT); while (igetstr(INPUT, INPUTSZ)) { ok = 1; - for (i = 0; i < rover.nfiles; i++) - if (!strcmp(FNAME(i), INPUT)) { + for (i = 0; i < rover.nfiles; i++) { + int n = strlen(FNAME(i)); + if (FNAME(i)[n - 1] == '/') n--; + if (!strncmp(FNAME(i), INPUT, n)) { ok = 0; break; } + } update_input(prompt, ok ? GREEN : RED); } mvhline(LINES - 1, 0, ' ', STATUSPOS); @@ -850,11 +856,14 @@ main(int argc, char *argv[]) update_input(prompt, DEFAULT); while (igetstr(INPUT, INPUTSZ)) { ok = 1; - for (i = 0; i < rover.nfiles; i++) - if (!strcmp(FNAME(i), INPUT)) { + for (i = 0; i < rover.nfiles; i++) { + int n = strlen(FNAME(i)); + if (FNAME(i)[n - 1] == '/') n--; + if (!strncmp(FNAME(i), INPUT, n)) { ok = 0; break; } + } update_input(prompt, ok ? GREEN : RED); } mvhline(LINES - 1, 0, ' ', STATUSPOS);