]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix releasing of last_jobs
authorKern Sibbald <kern@sibbald.com>
Thu, 1 Apr 2004 18:59:06 +0000 (18:59 +0000)
committerKern Sibbald <kern@sibbald.com>
Thu, 1 Apr 2004 18:59:06 +0000 (18:59 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1170 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/dird/ua_status.c
bacula/src/lib/jcr.c
bacula/src/stored/read_record.c
bacula/src/stored/record.c

index a65efae62dcefa0a9bd9d9f508b77f5f708d03e5..19e46c95ebd85eac08d5e74b65413f82b0aa73b7 100644 (file)
@@ -390,7 +390,7 @@ static void list_running_jobs(UAContext *ua)
    bool pool_mem = false;
 
    Dmsg0(200, "enter list_run_jobs()\n");
-   bsendmsg(ua, _("Running Jobs:\n"));
+   bsendmsg(ua, _("\nRunning Jobs:\n"));
    lock_jcr_chain();
    foreach_jcr(jcr) {
       njobs++;
index 00a7254689834149c8426b7775fcadb0cf59c336..2622d335a82d6c3678bafa09f9a9687b69849d62 100755 (executable)
@@ -62,6 +62,9 @@ void init_last_jobs_list()
 void term_last_jobs_list()
 {
    if (last_jobs) {
+      while (!last_jobs->empty()) {
+        free(last_jobs->first());     
+      }
       delete last_jobs;
       last_jobs = NULL;
       rwl_destroy(&lock);
index ce41ba8ed19154bd2775d98322052caf9e03a9ff..e90cabeda1eea48eb5d881f0655ed554535faf3c 100644 (file)
@@ -135,7 +135,7 @@ int read_records(JCR *jcr,  DEVICE *dev,
        *   VolSessionId and VolSessionTime 
        */
       bool found = false;
-      for (rec=(DEV_RECORD *)recs->first(); rec; rec=(DEV_RECORD *)recs->next(rec)) {
+      foreach_dlist(rec, recs) {
         if (rec->VolSessionId == block->VolSessionId &&
             rec->VolSessionTime == block->VolSessionTime) {
            found = true;
@@ -241,11 +241,10 @@ int read_records(JCR *jcr,  DEVICE *dev,
 // Dmsg2(100, "Position=(file:block) %d:%d\n", dev->file, dev->block_num);
 
    /* Walk down list and free all remaining allocated recs */
-   for (rec=(DEV_RECORD *)recs->first(); rec; ) {
-      DEV_RECORD *nrec = (DEV_RECORD *)recs->next(rec);
+   while (!recs->empty()) {
+      rec = (DEV_RECORD *)recs->first();
       recs->remove(rec);
       free_record(rec);
-      rec = nrec;
    }
    delete recs;
    print_block_read_errors(jcr, block);
index efe66fa51a4ef9a0c5a9510f69a67afc1550b99b..b5bdcf34284220eab2d79f37c4619c434049bfb9 100644 (file)
@@ -149,7 +149,7 @@ DEV_RECORD *new_record(void)
 {
    DEV_RECORD *rec;
 
-   rec = (DEV_RECORD *) get_memory(sizeof(DEV_RECORD));
+   rec = (DEV_RECORD *)get_memory(sizeof(DEV_RECORD));
    memset(rec, 0, sizeof(DEV_RECORD));
    rec->data = get_pool_memory(PM_MESSAGE);
    return rec;