]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/filed/job.c
Start adding back removed code.
[bacula/bacula] / bacula / src / filed / job.c
index c8100a12bfcc97cde983133b5d87c785c2cae87c..0c81adc143c96e5aeec114a1824e45413e8df81c 100644 (file)
@@ -25,7 +25,7 @@
 #include "filed.h"
 
 #if defined(WIN32_VSS)
-#include "vss.h"   
+#include "vss.h"
 
 static pthread_mutex_t vss_mutex = PTHREAD_MUTEX_INITIALIZER;
 static int enable_vss;
@@ -456,7 +456,11 @@ static int runbeforenow_cmd(JCR *jcr)
    BSOCK *dir = jcr->dir_bsock;
 
    run_scripts(jcr, jcr->RunScripts, "ClientBeforeJob");
-   return  bnet_fsend(dir, OKRunBeforeNow);
+   if (job_canceled(jcr)) {
+      return  bnet_fsend(dir, _("2905 Bad RunBeforeNow command.\n"));
+   } else {
+      return  bnet_fsend(dir, OKRunBeforeNow);
+   }
 }
 
 static int runafter_cmd(JCR *jcr)
@@ -587,19 +591,22 @@ static void add_file_to_fileset(JCR *jcr, const char *fname, findFILESET *filese
       fn = get_pool_memory(PM_FNAME);
       fn = edit_job_codes(jcr, fn, p, "");
       bpipe = open_bpipe(fn, 0, "r");
-      free_pool_memory(fn);
       if (!bpipe) {
+         berrno be;
          Jmsg(jcr, M_FATAL, 0, _("Cannot run program: %s. ERR=%s\n"),
-            p, strerror(errno));
+            p, be.strerror());
+         free_pool_memory(fn);
          return;
       }
+      free_pool_memory(fn);
       while (fgets(buf, sizeof(buf), bpipe->rfd)) {
          strip_trailing_junk(buf);
          fileset->incexe->name_list.append(bstrdup(buf));
       }
       if ((stat=close_bpipe(bpipe)) != 0) {
-         Jmsg(jcr, M_FATAL, 0, _("Error running program: %s. RtnStat=%d ERR=%s\n"),
-            p, stat, strerror(errno));
+         berrno be;
+         Jmsg(jcr, M_FATAL, 0, _("Error running program: %s. stat=%d: ERR=%s\n"),
+            p, be.code(stat), be.strerror(stat));
          return;
       }
       break;
@@ -1328,14 +1335,14 @@ static int backup_cmd(JCR *jcr)
             } else {
                /* tell user if snapshot creation of a specific drive failed */
                int i;
-               for (i=0; i < strlen(szWinDriveLetters); i++) {
+               for (i=0; i < (int)strlen(szWinDriveLetters); i++) {
                   if (islower(szWinDriveLetters[i])) {
                      Jmsg(jcr, M_WARNING, 0, _("Generate VSS snapshot of drive \"%c:\\\" failed. VSS support is disabled on this drive.\n"), szWinDriveLetters[i]);
                      jcr->Errors++;
                   }
                }
                /* inform user about writer states */
-               for (i=0; i<g_pVSSClient->GetWriterCount(); i++)                
+               for (i=0; i < (int)g_pVSSClient->GetWriterCount(); i++)                
                   if (g_pVSSClient->GetWriterState(i) < 1) {
                      Jmsg(jcr, M_WARNING, 0, _("VSS Writer (PrepareForBackup): %s\n"), g_pVSSClient->GetWriterInfo(i));                    
                      jcr->Errors++;
@@ -1361,13 +1368,13 @@ static int backup_cmd(JCR *jcr)
       bget_msg(sd);                   /* Read final response from append_data */
       Dmsg0(110, "Error in blast_data.\n");
       /* run shortly after end of data transmission */ 
-      run_scripts(jcr, jcr->RunScripts, "ClientAfterJobShort");
+      run_scripts(jcr, jcr->RunScripts, "ClientAfterJob");
 
    } else {
       set_jcr_job_status(jcr, JS_Terminated);
 
       /* run shortly after end of data transmission */   
-      run_scripts(jcr, jcr->RunScripts, "ClientAfterJobShort");
+      run_scripts(jcr, jcr->RunScripts, "ClientAfterJob");
 
       if (jcr->JobStatus != JS_Terminated) {
          bnet_suppress_error_messages(sd, 1);