Use context/ctxpath==NULL to indicate that no context file should be read,
[mmh] / sbr / context_foil.c
index 9b3f7eb..d6c90c4 100644 (file)
@@ -21,7 +21,25 @@ context_foil (char *path)
 {
     register struct node *np;
 
-    defpath = context = "/dev/null";
+    /* In fact, nobody examines defpath in code paths where
+     * it's been set by us -- the uses in the source tree are:
+     *  1 sbr/context_read.c uses it only after setting it itself
+     *  2 uip/install_mh.c uses it only after setting it itself
+     *  3 uip/mshcmds.c and uip/mark.c print it if given the -debug switch
+     * A worthwhile piece of code cleanup would be to make 1 and
+     * 2 use a local variable and just delete 3.
+     *
+     * Similarly, context and ctxpath are not really used
+     * outside the context_* routines. It might be worth combining
+     * them into one file so the variables can be made static.
+     */
+
+    /* We set context to NULL to indicate that no context file
+     * is to be read. (Using /dev/null doesn't work because we
+     * would try to lock it, which causes timeouts with some
+     * locking methods.)
+     */
+    defpath = context = NULL;
 
     /*
      * If path is given, create a minimal profile/context list