Fixed path lookup for alias files: ali, send, whatnow.
authormarkus schnalke <meillo@marmaro.de>
Sat, 28 Jan 2012 17:40:02 +0000 (18:40 +0100)
committermarkus schnalke <meillo@marmaro.de>
Sat, 28 Jan 2012 17:40:02 +0000 (18:40 +0100)
uip/ali.c
uip/aliasbr.c
uip/send.c
uip/whatnowsbr.c

index 3d450d7..8907e69 100644 (file)
--- a/uip/ali.c
+++ b/uip/ali.c
@@ -132,7 +132,7 @@ main(int argc, char **argv)
                        char *dp = NULL;
 
                        for (ap = brkstring(dp = getcpy(cp), " ", "\n"); ap && *ap; ap++)
-                               if ((i = alias(*ap)) != AK_OK)
+                               if ((i = alias(etcpath(*ap))) != AK_OK)
                                        adios(NULL, "aliasing error in %s - %s", *ap, akerror(i));
                        if (dp)
                                free(dp);
index 85260d8..b9b32fa 100644 (file)
@@ -125,6 +125,9 @@ aleq(char *string, char *aliasent)
 }
 
 
+/*
+** file needs to be absolute or relative to cwd
+*/
 int
 alias(char *file)
 {
@@ -134,9 +137,6 @@ alias(char *file)
        register struct aka *ak = NULL;
        register FILE *fp;
 
-       if (*file!='/' && (strncmp(file, "./", 2)!=0 &&
-                       strncmp(file, "../", 3)!=0))
-               file = etcpath(file);
        if ((fp = fopen(file, "r")) == NULL) {
                akerrst = file;
                return AK_NOFILE;
index a5589eb..da5f23b 100644 (file)
@@ -160,7 +160,7 @@ main(int argc, char **argv)
                for (ap = brkstring(dp = getcpy(cp), " ", "\n"); ap && *ap;
                                ap++) {
                        vec[vecp++] = "-alias";
-                       vec[vecp++] = *ap;
+                       vec[vecp++] = getcpy(etcpath(*ap));
                }
        }
 
index 79f75e5..8cb6744 100644 (file)
@@ -1000,7 +1000,7 @@ sendit(char *sp, char **arg, char *file, int pushed)
                dp = getcpy(cp);
                for (ap = brkstring(dp, " ", "\n"); ap && *ap; ap++) {
                        vec[vecp++] = "-alias";
-                       vec[vecp++] = *ap;
+                       vec[vecp++] = getcpy(etcpath(*ap));
                }
        }