commit - bdb195d03d2b78f6f18de4b69de12fd3556b64f2
commit + e444d3b10c1abc84f59eea171cfdb637d9891c0b
blob - 1eff6e3f51be0e78f3e048397e013a519cbca917
blob + dfe226f422b44d25456a909671aac60441471631
--- rover.c
+++ rover.c
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);
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);
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);