Skip to content

Commit

Permalink
Merge pull request #308 from bareos/dev/franku/master/cleanup-ua-status
Browse files Browse the repository at this point in the history
dird: remove memset on non-trivial objects
  • Loading branch information
franku committed Oct 21, 2019
2 parents eb0f485 + 1968317 commit c4c8d47
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 30 deletions.
14 changes: 3 additions & 11 deletions core/src/dird/ua_output.cc
Expand Up @@ -376,8 +376,6 @@ static int GetJobidFromCmdline(UaContext* ua)
JobDbRecord jr;
ClientDbRecord cr;

memset(&jr, 0, sizeof(jr));

i = FindArgWithValue(ua, NT_("ujobid"));
if (i >= 0) {
bstrncpy(jr.Job, ua->argv[i], MAX_NAME_LENGTH);
Expand Down Expand Up @@ -830,7 +828,6 @@ static bool DoListCmd(UaContext* ua, const char* cmd, e_list_type llist)
/*
* List POOLS
*/
memset(&pr, 0, sizeof(pr));
if (ua->argv[1]) { bstrncpy(pr.Name, ua->argv[1], sizeof(pr.Name)); }

SetAclFilter(ua, 1, Pool_ACL); /* PoolName */
Expand Down Expand Up @@ -1280,10 +1277,6 @@ static bool ListNextvol(UaContext* ua, int ndays)
RunResource* run;
utime_t runtime;
bool found = false;
MediaDbRecord mr;
PoolDbRecord pr;

memset(&mr, 0, sizeof(mr));

i = FindArgWithValue(ua, "job");
if (i <= 0) {
Expand All @@ -1306,11 +1299,12 @@ static bool ListNextvol(UaContext* ua, int ndays)
ua->ErrorMsg(_("Could not find Pool for Job %s\n"), job->resource_name_);
continue;
}
memset(&pr, 0, sizeof(pr));
PoolDbRecord pr;
pr.PoolId = jcr->jr.PoolId;
if (!ua->db->GetPoolRecord(jcr, &pr)) {
bstrncpy(pr.Name, "*UnknownPool*", sizeof(pr.Name));
}
MediaDbRecord mr;
mr.PoolId = jcr->jr.PoolId;
GetJobStorage(&store, job, run);
SetStorageidInMr(store.store, &mr);
Expand Down Expand Up @@ -1424,9 +1418,6 @@ bool CompleteJcrForJob(JobControlRecord* jcr,
JobResource* job,
PoolResource* pool)
{
PoolDbRecord pr;

memset(&pr, 0, sizeof(pr));
SetJcrDefaults(jcr, job);
if (pool) { jcr->res.pool = pool; /* override */ }
if (jcr->db) {
Expand All @@ -1448,6 +1439,7 @@ bool CompleteJcrForJob(JobControlRecord* jcr,
jcr->res.catalog->db_name);
return false;
}
PoolDbRecord pr;
bstrncpy(pr.Name, jcr->res.pool->resource_name_, sizeof(pr.Name));
while (!jcr->db->GetPoolRecord(jcr, &pr)) { /* get by Name */
/* Try to create the pool */
Expand Down
24 changes: 5 additions & 19 deletions core/src/dird/ua_status.cc
Expand Up @@ -345,7 +345,6 @@ void ListDirStatusHeader(UaContext* ua)
int len, cnt;
CatalogResource* catalog;
char dt[MAX_TIME_LENGTH];
char b1[35], b2[35], b3[35], b4[35], b5[35];
PoolMem msg(PM_FNAME), dbdrivers(PM_FNAME);

cnt = 0;
Expand Down Expand Up @@ -775,8 +774,6 @@ static void PrtRuntime(UaContext* ua, sched_pkt* sp)
MediaDbRecord mr;
int orig_jobtype;

memset(&mr, 0, sizeof(mr));

orig_jobtype = jcr->getJobType();
if (sp->job->JobType == JT_BACKUP) {
jcr->db = NULL;
Expand Down Expand Up @@ -1276,9 +1273,6 @@ static void ContentSendInfoApi(UaContext* ua,
/* Type|Slot|RealSlot|Volume|Bytes|Status|MediaType|Pool|LastW|Expire */
const char* slot_api_full_format = "%c|%hd|%hd|%s|%s|%s|%s|%s|%s|%s\n";

memset(&pr, 0, sizeof(pr));
memset(&mr, 0, sizeof(mr));

bstrncpy(mr.VolumeName, vol_name, sizeof(mr.VolumeName));
if (ua->db->GetMediaRecord(ua->jcr, &mr)) {
pr.PoolId = mr.PoolId;
Expand All @@ -1301,9 +1295,6 @@ static void ContentSendInfoJson(UaContext* ua,
PoolDbRecord pr;
MediaDbRecord mr;

memset(&pr, 0, sizeof(pr));
memset(&mr, 0, sizeof(mr));

bstrncpy(mr.VolumeName, vol_name, sizeof(mr.VolumeName));
if (ua->db->GetMediaRecord(ua->jcr, &mr)) {
pr.PoolId = mr.PoolId;
Expand Down Expand Up @@ -1595,8 +1586,6 @@ static void StatusContentJson(UaContext* ua, StorageResource* store)
*/
static void StatusSlots(UaContext* ua, StorageResource* store)
{
PoolDbRecord pr;
MediaDbRecord mr;
char* slot_list;
vol_list_t *vl1, *vl2;
slot_number_t max_slots;
Expand All @@ -1611,7 +1600,6 @@ static void StatusSlots(UaContext* ua, StorageResource* store)

if (!OpenClientDb(ua)) { return; }

memset(&mr, 0, sizeof(mr));

max_slots = GetNumSlots(ua, store);
if (max_slots <= 0) {
Expand Down Expand Up @@ -1685,14 +1673,13 @@ static void StatusSlots(UaContext* ua, StorageResource* store)
"?", "?");
continue;
}
/*
* Note, fall through wanted
*/
case slot_status_t::kSlotStatusFull:
[[fallthrough]];
case slot_status_t::kSlotStatusFull: {
/*
* We get here for all slots with content and for empty
* slots with their volume loaded in a drive.
*/
MediaDbRecord mr;
if (vl1->slot_status == slot_status_t::kSlotStatusFull) {
if (!vl1->VolName) {
Dmsg1(100, "No VolName for Slot=%hd.\n",
Expand All @@ -1705,7 +1692,6 @@ static void StatusSlots(UaContext* ua, StorageResource* store)
continue;
}

memset(&mr, 0, sizeof(mr));
bstrncpy(mr.VolumeName, vl1->VolName, sizeof(mr.VolumeName));
} else {
if (!vl2 || !vl2->VolName) {
Expand All @@ -1719,12 +1705,11 @@ static void StatusSlots(UaContext* ua, StorageResource* store)
continue;
}

memset(&mr, 0, sizeof(mr));
bstrncpy(mr.VolumeName, vl2->VolName, sizeof(mr.VolumeName));
}

if (mr.VolumeName[0] && ua->db->GetMediaRecord(ua->jcr, &mr)) {
memset(&pr, 0, sizeof(pr));
PoolDbRecord pr;
pr.PoolId = mr.PoolId;
if (!ua->db->GetPoolRecord(ua->jcr, &pr)) {
strcpy(pr.Name, "?");
Expand All @@ -1750,6 +1735,7 @@ static void StatusSlots(UaContext* ua, StorageResource* store)
mr.VolumeName, "?", "?", "?");
}
break;
}
default:
break;
}
Expand Down

0 comments on commit c4c8d47

Please sign in to comment.