Mercurial > projects > dstress
changeset 904:67e77ee70d66
minor OpenBSD and Windows fixes
author | thomask |
---|---|
date | Mon, 13 Mar 2006 00:42:40 +0000 |
parents | 613f9c34bb15 |
children | 151eb236b6bc |
files | dstress.c |
diffstat | 1 files changed, 46 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/dstress.c Sun Mar 12 00:06:51 2006 +0000 +++ b/dstress.c Mon Mar 13 00:42:40 2006 +0000 @@ -73,23 +73,55 @@ #include <fcntl.h> #include <unistd.h> #include <regex.h> -#include <stdint.h> #include <limits.h> -/* not every STDLIB supports C99's "%z" for printf formating */ -#if PTRDIFF_MAX == INT_MAX +/* not every STDLIB propperly supports C99's "%z" for printf formating */ +/* (I just love those non-conforming headers...) */ +#undef ZU + +#if !defined(ZU) && defined(SSIZE_MAX) +#if defined(INT_MAX) && SSIZE_MAX == INT_MAX +#define ZU "%u" +#elif defined(LONG_MAX) && SSIZE_MAX == LONG_MAX +#define ZU "%lu" +#elif defined(LLONG_MAX) && SSIZE_MAX == LLONG_MAX +#define ZU "%llu" +#elif defined(SHRT_MAX) && SSIZE_MAX == SHRT_MAX +#define ZU "%hu" +#endif +#endif /* SSIZE_MAX */ + +#if !defined(ZU) && defined(SIZE_T_MAX) +#if defined(UINT_MAX) && SIZE_T_MAX == UINT_MAX #define ZU "%u" -#else -#if PTRDIFF_MAX == LONG_MAX +#elif defined(ULONG_MAX) && SIZE_T_MAX == ULONG_MAX #define ZU "%lu" -#else -#if PTRDIFF_MAX == SHRT_MAX +#elif defined(ULLONG_MAX) && SIZE_T_MAX == ULLONG_MAX +#define ZU "%llu" +#elif defined(USHRT_MAX) && SIZE_T_MAX == USHRT_MAX #define ZU "%hu" -#else +#endif +#endif /* SIZE_T_MAX */ + +#ifndef ZU +#include <stdint.h> +#ifdef PTRDIFF_MAX +#if defined(INT_MAX) && PTRDIFF_MAX == INT_MAX +#define ZU "%u" +#elif defined(LONG_MAX) && PTRDIFF_MAX == LONG_MAX +#define ZU "%lu" +#elif defined(LLONG_MAX) && PTRDIFF_MAX == LLONG_MAX +#define ZU "%llu" +#elif defined(SHRT_MAX) && PTRDIFF_MAX == SHRT_MAX +#define ZU "%hu" +#endif +#endif +#endif /* PTRDIFF_MAX */ + +#ifndef ZU #error what is the size of a pointer? #endif -#endif -#endif + #else #ifdef USE_WINDOWS @@ -302,14 +334,14 @@ if (ReadFile(file,back,size,&numread,NULL) == 1){ if (numread==size){ *(back+size) = '\x00'; - len = size; + *len = size; }else{ back = NULL; - len = 0; + *len = 0; } }else{ back = NULL; - len = 0; + *len = 0; } } CloseHandle(file); @@ -1227,7 +1259,7 @@ fprintf(stderr, "BUG: unhandled non-torture modus %x\n", modus); exit(EXIT_FAILURE); } - + printf("Torture-Sub-1/" ZU "-", sizeof(torture)/sizeof(char*)); printResult(case_result, modus, case_file, stdout);