X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio-ini.c;h=540902fee58d1e3ad51e165c18a983fd314f26fe;hp=a8ed6d5bcf5ae13fd680d44925e9c59703a4b650;hb=4ae3f76333bf2382e516db0b5c202b8982b1170f;hpb=fc1a471326fb5248a74ed3a206d37884b812c853 diff --git a/fio-ini.c b/fio-ini.c index a8ed6d5b..540902fe 100644 --- a/fio-ini.c +++ b/fio-ini.c @@ -110,7 +110,10 @@ static struct thread_data *get_new_job(int global, struct thread_data *parent) return NULL; td = &threads[thread_number++]; - memset(td, 0, sizeof(*td)); + if (parent) + *td = *parent; + else + memset(td, 0, sizeof(*td)); td->fd = -1; td->thread_number = thread_number; @@ -375,24 +378,18 @@ static void strip_blank_front(char **p) { char *s = *p; - while (isblank(*s)) + while (isspace(*s)) s++; } static void strip_blank_end(char *p) { - while (isblank(*p)) { - *p = '\0'; - p--; - } -} + char *s = p + strlen(p) - 1; -static void terminate_line(char *p) -{ - while (*p != '\n' && *p != '\0') - p++; + while (isspace(*s) || iscntrl(*s)) + s--; - *p = '\0'; + *(s + 1) = '\0'; } typedef int (str_cb_fn)(struct thread_data *, char *); @@ -428,9 +425,6 @@ static int check_strstore(char *p, char *name, char *dest) strip_blank_front(&s); strcpy(dest, s); - - s = dest + strlen(dest) - 1; - strip_blank_end(s); return 0; } @@ -630,7 +624,6 @@ static int str_ioengine_cb(struct thread_data *td, char *str) static int str_iolog_cb(struct thread_data *td, char *file) { - terminate_line(file); strncpy(td->iolog_file, file, sizeof(td->iolog_file) - 1); return 0; @@ -676,6 +669,7 @@ int parse_jobs_ini(char *file) continue; if (strstr(p, "[")) break; + strip_blank_end(p); if (!check_int(p, "prio", &prio)) { #ifndef FIO_HAVE_IOPRIO