escaped_where_name = escape_filename(rx.RegexWhere);
Mmsg(ua->cmd,
"run job=\"%s\" client=\"%s\" restoreclient=\"%s\" storage=\"%s\""
- " bootstrap=\"%s\" regexwhere=\"%s\" files=%d catalog=\"%s\"",
+ " bootstrap=\"%s\" regexwhere=\"%s\" files=%u catalog=\"%s\"",
job->name(), rx.ClientName, rx.RestoreClientName,
rx.store?rx.store->name():"",
escaped_bsr_name ? escaped_bsr_name : jcr->RestoreBootstrap,
escaped_where_name = escape_filename(rx.where);
Mmsg(ua->cmd,
"run job=\"%s\" client=\"%s\" restoreclient=\"%s\" storage=\"%s\""
- " bootstrap=\"%s\" where=\"%s\" files=%d catalog=\"%s\"",
+ " bootstrap=\"%s\" where=\"%s\" files=%u catalog=\"%s\"",
job->name(), rx.ClientName, rx.RestoreClientName,
rx.store?rx.store->name():"",
escaped_bsr_name ? escaped_bsr_name : jcr->RestoreBootstrap,
} else {
Mmsg(ua->cmd,
"run job=\"%s\" client=\"%s\" restoreclient=\"%s\" storage=\"%s\""
- " bootstrap=\"%s\" files=%d catalog=\"%s\"",
+ " bootstrap=\"%s\" files=%u catalog=\"%s\"",
job->name(), rx.ClientName, rx.RestoreClientName,
rx.store?rx.store->name():"",
escaped_bsr_name ? escaped_bsr_name : jcr->RestoreBootstrap,
#define fmtfp(b, c, m, f, min, max, fl) currlen
#endif
-#define outch(c) {int len=currlen; if (currlen++ < maxlen) { buffer[len] = (c);}}
+#define outch(c) {if (currlen < maxlen) { buffer[currlen++] = (c);}}
/* format read states */
*buffer = 0;
while (state != DP_S_DONE) {
- if ((ch == '\0') || (currlen >= maxlen))
+ if ((ch == '\0') || (currlen >= maxlen)) {
state = DP_S_DONE;
-
+ }
switch (state) {
case DP_S_DEFAULT:
if (ch == '%') {
{
int signvalue = 0;
uint64_t uvalue;
- char convert[20];
+ char convert[25];
int place = 0;
int spadlen = 0; /* amount to space pad */
int zpadlen = 0; /* amount to zero pad */
int caps = 0;
+ const char *cvt_string;
if (max < 0) {
max = 0;
caps = 1; /* Should characters be upper case? */
}
+ cvt_string = caps ? "0123456789ABCDEF" : "0123456789abcdef";
do {
- convert[place++] = (caps ? "0123456789ABCDEF" : "0123456789abcdef")
- [uvalue % (unsigned)base];
+ convert[place++] = cvt_string[uvalue % (unsigned)base];
uvalue = (uvalue / (unsigned)base);
- } while (uvalue && (place < 20));
- if (place == 20) {
+ } while (uvalue && (place < (int)sizeof(convert)));
+ if (place == (int)sizeof(convert)) {
place--;
}
convert[place] = 0;
Technical notes on version 2.2
General:
+23Dec07
+kes Attempt to eliminate seg fault Frank Sweetser is seeing in
+ running the regression tests on his Fedora systems. It seems
+ to be related to bsnprintf and long path names.
14Dec07
kes Apply patch from Michael Stapelberg <michael@stapelberg.de>
that implements double quoting include names in conf files,