* uip/mhlistsbr.c, uip/mhlsbr.c, uip/picksbr.c: cast
[mmh] / uip / rmf.c
index 5fe4708..c3dcc91 100644 (file)
--- a/uip/rmf.c
+++ b/uip/rmf.c
@@ -78,7 +78,7 @@ main (int argc, char **argv)
            if (folder)
                adios (NULL, "only one folder at a time!");
            else
-               folder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF);
+               folder = pluspath (cp);
        } else {
            adios (NULL, "usage: %s [+folder] [switches]", invo_name);
        }
@@ -114,12 +114,16 @@ main (int argc, char **argv)
        free (cp);
     }
 
-    if (rmf (folder) == OK && strcmp (context_find (pfolder), newfolder)) {
-       printf ("[+%s now current]\n", newfolder);
-       context_replace (pfolder, newfolder);   /* update current folder */
+    if (rmf (folder) == OK) {
+       char *cfolder = context_find(pfolder);
+       if (cfolder && strcmp (cfolder, newfolder)) {
+           printf ("[+%s now current]\n", newfolder);
+           context_replace (pfolder, newfolder);       /* update current folder */
+       }
     }
     context_save ();   /* save the context file */
-    return done (0);
+    done (0);
+    return 1;
 }
 
 static int