Special-case an MHCONTEXT of "/dev/null" and don't try to lock it -- some
authorPeter Maydell <pmaydell@chiark.greenend.org.uk>
Sat, 19 Nov 2005 16:04:25 +0000 (16:04 +0000)
committerPeter Maydell <pmaydell@chiark.greenend.org.uk>
Sat, 19 Nov 2005 16:04:25 +0000 (16:04 +0000)
user scripts may use this to suppress modification of context.

ChangeLog
sbr/context_read.c

index 1ab8f4a..e8ba4c4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-19  Peter Maydell  <pmaydell@chiark.greenend.org.uk>
+
+       * bug #14977: sbr/context_read.c: special case an MHCONTEXT of
+       "/dev/null" and don't try to lock it.
+
 2005-11-09  Peter Maydell  <pmaydell@chiark.greenend.org.uk>
 
        * sbr/mf.c: fix buffer overrun with absurdly long addresses
index fcc12f9..6a1eea1 100644 (file)
@@ -120,8 +120,11 @@ context_read (void)
     if ((cp = getenv ("MHCONTEXT")) == (char *)0 || *cp == '\0')
        cp = context;
 
-    /* context is NULL if context_foil() was called to disable use of context */
-    if (!cp) {
+    /* context is NULL if context_foil() was called to disable use of context
+     * We also support users setting explicitly setting MHCONTEXT to /dev/null.
+     * (if this wasn't specialcased then the locking would be liable to fail)
+     */
+    if (!cp || (strcmp(cp,"/dev/null") == 0)) {
        ctxpath = NULL;
        return;
     }