Completely reworked the path convertion functions
[mmh] / uip / folder.c
index ac931ce..70f497d 100644 (file)
@@ -122,7 +122,7 @@ main(int argc, char **argv)
 #ifdef LOCALE
        setlocale(LC_ALL, "");
 #endif
-       invo_name = r1bindex(argv[0], '/');
+       invo_name = mhbasename(argv[0]);
 
        /* read user profile/context */
        context_read();
@@ -241,7 +241,7 @@ main(int argc, char **argv)
                        if (argfolder)
                                adios(NULL, "only one folder at a time!");
                        else
-                               argfolder = pluspath(cp);
+                               argfolder = getcpy(expandfol(cp));
                } else {
                        if (msg)
                                adios(NULL, "only one (current) message at a time!");
@@ -250,9 +250,7 @@ main(int argc, char **argv)
                }
        }
 
-       if (!context_find("path"))
-               free(path("./", TFOLDER));
-       nmhdir = concat(m_maildir(""), "/", NULL);
+       nmhdir = concat(toabsdir("+"), "/", NULL);
 
        /*
        ** If we aren't working with the folder stack
@@ -273,15 +271,15 @@ main(int argc, char **argv)
                        } else {
                                adios(NULL, "no other folder");
                        }
-                       for (cp = getcpy(getfolder(1)); *ap; ap++)
+                       for (cp = getcpy(getcurfol()); *ap; ap++)
                                cp = add(*ap, add(" ", cp));
                        free(dp);
                        context_replace(stack, cp);  /* update folder stack */
                } else {
                        /* update folder stack */
                        context_replace(stack, (cp = context_find (stack)) ?
-                                       concat(getfolder(1), " ", cp, NULL) :
-                                       getcpy(getfolder(1)));
+                                       concat(getcurfol(), " ", cp, NULL) :
+                                       getcpy(getcurfol()));
                }
        }
 
@@ -309,7 +307,7 @@ main(int argc, char **argv)
                free(dp);
        }
        if (pushsw || popsw) {
-               cp = m_maildir(argfolder);
+               cp = toabsdir(argfolder);
                if (access(cp, F_OK) == NOTOK)
                        adios(cp, "unable to find folder");
                /* update current folder   */
@@ -320,7 +318,7 @@ main(int argc, char **argv)
 
        /* Listing the folder stack */
        if (listsw) {
-               printf("%s", argfolder ? argfolder : getfolder(1));
+               printf("%s", argfolder ? argfolder : getcurfol());
                if ((cp = context_find(stack))) {
                        dp = getcpy(cp);
                        for (ap = brkstring(dp, " ", "\n"); *ap; ap++)
@@ -373,14 +371,14 @@ main(int argc, char **argv)
                                                NULL);
                }
        } else {
-               strncpy(folder, argfolder ? argfolder : getfolder (1),
+               strncpy(folder, argfolder ? argfolder : getcurfol(),
                                sizeof(folder));
 
                /*
                ** Check if folder exists.  If not, then see if
                ** we should create it, or just exit.
                */
-               create_folder(m_maildir(folder), fcreat, done);
+               create_folder(toabsdir(folder), fcreat, done);
 
                if (get_folder_info(folder, msg) && argfolder) {
                        /* update current folder */