if (!td->filename) {
td->filename = strdup(jobname);
- for (i = 0; i < td->nr_files; i++) {
- sprintf(fname, "%s.%d.%d", td->filename, td->thread_number, i);
- add_file(td, fname);
+ if (td->nr_files == 1)
+ add_file(td, td->filename);
+ else {
+ for (i = 0; i < td->nr_files; i++) {
+ sprintf(fname, "%s.%d.%d", td->filename, td->thread_number, i);
+ add_file(td, fname);
+ }
}
}
static int str_filename_cb(void *data, const char *input)
{
struct thread_data *td = data;
- char *fname, *str;
+ char *fname, *str, *p;
td->nr_files = 0;
- str = strdup(input);
+ p = str = strdup(input);
+
+ strip_blank_front(&str);
+ strip_blank_end(str);
+
while ((fname = strsep(&str, ":")) != NULL) {
+ if (!strlen(fname))
+ break;
add_file(td, fname);
td->nr_files++;
}
+ free(p);
return 0;
}