Mmsg(tmp, " Object.JobId=%lu", JobId);
append_filter(where, tmp.c_str());
}
-
+ if (is_a_number_list(JobIds)) {
+ Mmsg(tmp, " Object.JobId IN (%s) ", JobIds);
+ append_filter(where, tmp.c_str());
+ }
if (Path[0] != 0) {
db_escape_string(jcr, jcr->db, esc.c_str(), Path, strlen(Path));
Mmsg(tmp, " Object.Path='%s'", esc.c_str());
Path = get_pool_memory(PM_FNAME);
Filename = get_pool_memory(PM_FNAME);
PluginName = get_pool_memory(PM_FNAME);
+ JobIds = get_pool_memory(PM_FNAME);
reset();
};
free_pool_memory(Path);
free_pool_memory(Filename);
free_pool_memory(PluginName);
+ free_pool_memory(JobIds);
};
/* reset memory */
JobId = 0;
ObjectId = 0;
ObjectSize = 0;
- *Path = *Filename = *PluginName = 0;
+ *JobIds = *Path = *Filename = *PluginName = 0;
*ObjectCategory = *ObjectType = *ObjectName = *ObjectSource = *ObjectUUID = *ClientName = 0;
limit = 0;
order = 0;
POOLMEM *Path;
POOLMEM *Filename;
POOLMEM *PluginName;
- char ObjectCategory[MAX_NAME_LENGTH];
- char ObjectType[MAX_NAME_LENGTH];
- char ObjectName[MAX_NAME_LENGTH];
- char ObjectSource[MAX_NAME_LENGTH];
- char ObjectUUID[MAX_NAME_LENGTH];
+ POOLMEM *JobIds;
+ char ObjectCategory[MAX_PLUGINOBJ_NAME_LENGTH];
+ char ObjectType[MAX_PLUGINOBJ_NAME_LENGTH];
+ char ObjectName[MAX_PLUGINOBJ_NAME_LENGTH];
+ char ObjectSource[MAX_PLUGINOBJ_NAME_LENGTH];
+ char ObjectUUID[MAX_PLUGINOBJ_NAME_LENGTH];
uint64_t ObjectSize;
int32_t ObjectStatus;
uint32_t ObjectCount;
/* List PLUGIN OBJECTS */
} else if (strcasecmp(ua->argk[i], NT_("object")) == 0 ||
- strcasecmp(ua->argk[i], NT_("objects")) == 0) {
+ strcasecmp(ua->argk[i], NT_("objects")) == 0)
+ {
OBJECT_DBR obj_r;
for (j=i+1; j<ua->argc; j++) {
if (strcasecmp(ua->argk[j], NT_("jobid")) == 0 && ua->argv[j]) {
- if (is_a_number(ua->argv[j]) && acl_access_jobid_ok(ua, ua->argv[j])) {
- obj_r.JobId = str_to_uint64(ua->argv[j]);
+ if (is_a_number_list(ua->argv[j]) && acl_access_jobid_ok(ua, ua->argv[j])) {
+ pm_strcpy(obj_r.JobIds, ua->argv[j]);
} else {
ua->error_msg(_("Invalid jobid argument\n"));
return 1;