X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=verify-state.h;h=6da1585b24657a60d7357d4f04f6f445f01544f3;hp=2fe710f19f9f2f5aeb95c2a9e4d21c25acfd88c3;hb=019604f22a4cbeb71bb80d8077fa511ae62ea14c;hpb=e139c0c076e596143a13ce4cbf062120c30b338f diff --git a/verify-state.h b/verify-state.h index 2fe710f1..6da1585b 100644 --- a/verify-state.h +++ b/verify-state.h @@ -3,6 +3,8 @@ #include #include +#include +#include "lib/nowarn_snprintf.h" struct thread_rand32_state { uint32_t s[4]; @@ -76,28 +78,32 @@ static inline size_t thread_io_list_sz(struct thread_io_list *s) static inline struct thread_io_list *io_list_next(struct thread_io_list *s) { - return (void *) s + thread_io_list_sz(s); + return (struct thread_io_list *)((char *) s + thread_io_list_sz(s)); } static inline void verify_state_gen_name(char *out, size_t size, const char *name, const char *prefix, int num) { + char ename[PATH_MAX]; char *ptr; - snprintf(out, size, "%s-%s-%d-verify.state", prefix, name, num); - out[size - 1] = '\0'; - /* * Escape '/', just turn them into '.' */ - ptr = out; - while ((ptr = strchr(ptr, '/')) != NULL) { - *ptr = '.'; - ptr++; + ptr = ename; + do { + *ptr = *name; if (*ptr == '\0') break; - } + else if (*ptr == '/') + *ptr = '.'; + ptr++; + name++; + } while (1); + + nowarn_snprintf(out, size, "%s-%s-%d-verify.state", prefix, ename, num); + out[size - 1] = '\0'; } #endif