int insert_tree_handler(void *ctx, int num_fields, char **row)
{
TREE_CTX *tree = (TREE_CTX *)ctx;
- char fname[2000];
+ char fname[5000];
TREE_NODE *node, *new_node;
int type;
} else {
type = TN_FILE;
}
- sprintf(fname, "%s%s", row[0], row[1]);
+ bsnprintf(fname, sizeof(fname), "%s%s", row[0]?row[0]:"", row[1]?row[1]:"");
if (tree->avail_node) {
node = tree->avail_node;
} else {
Mmsg(&dev->errmsg, _("Gave up waiting to mount Storage Device \"%s\" for Job %s\n"),
jcr->dev_name, jcr->Job);
Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
- Dmsg1(190, "Gave up waiting on device %s\n", dev->dev_name);
+ Dmsg1(190, "Gave up waiting on device %s\n", dev_name(dev));
return 0; /* exceeded maximum waits */
}
continue;
Jmsg(jcr, M_WARNING, 0, _("pthread error in mount_next_volume stat=%d ERR=%s\n"), stat,
strerror(stat));
}
- Dmsg1(190, "Someone woke me for device %s\n", dev->dev_name);
+ Dmsg1(190, "Someone woke me for device %s\n", dev_name(dev));
/* Restart wait counters */
wait_sec = min_wait;
Mmsg(&dev->errmsg, _("Gave up waiting to mount Storage Device \"%s\" for Job %s\n"),
jcr->dev_name, jcr->Job);
Jmsg(jcr, M_FATAL, 0, "%s", dev->errmsg);
- Dmsg1(190, "Gave up waiting on device %s\n", dev->dev_name);
+ Dmsg1(190, "Gave up waiting on device %s\n", dev_name(dev));
return 0; /* exceeded maximum waits */
}
continue;
Jmsg(jcr, M_ERROR, 0, _("pthread error in mount_next_volume stat=%d ERR=%s\n"), stat,
strerror(stat));
}
- Dmsg1(190, "Someone woke me for device %s\n", dev->dev_name);
+ Dmsg1(190, "Someone woke me for device %s\n", dev_name(dev));
/* Restart wait counters */
wait_sec = min_wait;
for ( ; !job_canceled(jcr); ) {
time_t now;
- Dmsg3(100, "I'm going to sleep on device %s. HB=%d wait=%d\n", dev->dev_name,
+ Dmsg3(100, "I'm going to sleep on device %s. HB=%d wait=%d\n", dev_name(dev),
(int)me->heartbeat_interval, wait_sec);
stat = pthread_cond_timedwait(&dev->wait_next_vol, &dev->mutex, &timeout);
Dmsg1(100, "Wokeup from sleep on device stat=%d\n", stat);
/* Device structure definition */
struct DEVICE {
+public:
DEVICE *next; /* pointer to next open device */
DEVICE *prev; /* pointer to prev open device */
- JCR *attached_jcrs; /* attached JCR list */
+ JCR *attached_jcrs; /* attached JCR list */
pthread_mutex_t mutex; /* access control */
pthread_cond_t wait; /* thread wait variable */
pthread_cond_t wait_next_vol; /* wait for tape to be mounted */
VOLUME_CAT_INFO VolCatInfo; /* Volume Catalog Information */
VOLUME_LABEL VolHdr; /* Actual volume label */
-
+
};