]> git.sur5r.net Git - bacula/bacula/commitdiff
Attempt to fix seg fault
authorKern Sibbald <kern@sibbald.com>
Thu, 16 Jan 2003 15:45:29 +0000 (15:45 +0000)
committerKern Sibbald <kern@sibbald.com>
Thu, 16 Jan 2003 15:45:29 +0000 (15:45 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@298 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/lib/message.c

index 24fec6932452f8a588671ad704dd715a6691b5c9..22dcdac944321f0af0074c52bc0ccd233ac6c870 100755 (executable)
@@ -878,10 +878,13 @@ Jmsg(void *vjcr, int type, int level, char *fmt,...)
  *  Tmsg5(000, "jcr=%x msgs=%x type=%d send_msg=%x *msg=%x\n",
  *       jcr, msgs, type, msgs->send_msg, (int)msgs->send_msg[0]);
  */
  *  Tmsg5(000, "jcr=%x msgs=%x type=%d send_msg=%x *msg=%x\n",
  *       jcr, msgs, type, msgs->send_msg, (int)msgs->send_msg[0]);
  */
-
-    if ((type != M_ABORT && type != M_ERROR_TERM) && msgs && 
+    /* There is an apparent compiler bug with the following if
+     * statement, so the set_jcr... is simply a noop to reload 
+     * registers.
+     */
+    set_jcr_job_status(jcr, jcr->JobStatus);
+    if (msgs && (type != M_ABORT && type != M_ERROR_TERM) &&
         !bit_is_set(type, msgs->send_msg)) {
         !bit_is_set(type, msgs->send_msg)) {
-       Dmsg1(200, "No bit set for type %d\n", type);
        return;                       /* no destination */
     }
     switch (type) {
        return;                       /* no destination */
     }
     switch (type) {