X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fcontext_save.c;h=36b1634e7bfe71eceb4bb23fcf306e8877cff29b;hp=58d174516bd916687fabf3def67fc5d42be5d5dc;hb=d2da15ecabb03fb2de72863abdf5f21e52fdf329;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68 diff --git a/sbr/context_save.c b/sbr/context_save.c index 58d1745..36b1634 100644 --- a/sbr/context_save.c +++ b/sbr/context_save.c @@ -25,6 +25,10 @@ context_save (void) register struct node *np; FILE *out; sigset_t set, oset; + + /* No context in use -- silently ignore any changes! */ + if (!ctxpath) + return; if (!(ctxflags & CTXMOD)) return; @@ -41,12 +45,12 @@ context_save (void) sigaddset (&set, SIGTERM); SIGPROCMASK (SIG_BLOCK, &set, &oset); - if (!(out = fopen (ctxpath, "w"))) + if (!(out = lkfopen (ctxpath, "w"))) adios (ctxpath, "unable to write"); for (np = m_defs; np; np = np->n_next) if (np->n_context) fprintf (out, "%s: %s\n", np->n_name, np->n_field); - fclose (out); + lkfclose (out, ctxpath); SIGPROCMASK (SIG_SETMASK, &oset, &set); /* reset the signal mask */