commit - 15d7cd85a653b5bc67e16ace1d9c4ef4d3fc257e
commit + 2d11f8181b668445103f33bd092c97e9ef8e8ee6
blob - 63751dbd48892d0cacc6840151093544f7f9e578
blob + c809e31de76273efd645a82c2d0f3675598f5fcc
--- rover.c
+++ rover.c
ssize_t len = readlink(ENAME(ESEL), BUF1, BUFLEN-1);
if (len == -1) continue;
BUF1[len] = '\0';
+ if (access(BUF1, F_OK) == -1) {
+ char *msg;
+ switch (errno) {
+ case EACCES:
+ msg = "Cannot access \"%s\".";
+ break;
+ case ENOENT:
+ msg = "\"%s\" does not exist.";
+ break;
+ default:
+ msg = "Cannot navigate to \"%s\".";
+ }
+ strcpy(BUF2, BUF1); /* message() uses BUF1. */
+ message(RED, msg, BUF2);
+ continue;
+ }
realpath(BUF1, CWD);
len = strlen(CWD);
if (CWD[len - 1] == '/')