diff options
| author | Mattias Andrée <maandree@kth.se> | 2022-02-16 22:38:30 +0100 | 
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2022-02-16 22:38:30 +0100 | 
| commit | 7ed8efcac4ee646a232ee29c2dad87e6a6e35817 (patch) | |
| tree | 9afa6c49759a33def375beab05a07a0efbe12c5f | |
| parent | Fix check for 0-prefixed integers parameter string (diff) | |
| download | libar2-7ed8efcac4ee646a232ee29c2dad87e6a6e35817.tar.gz libar2-7ed8efcac4ee646a232ee29c2dad87e6a6e35817.tar.bz2 libar2-7ed8efcac4ee646a232ee29c2dad87e6a6e35817.tar.xz | |
Make test code work with musl1.1.1
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
| -rw-r--r-- | test.c | 32 | 
1 files changed, 18 insertions, 14 deletions
| @@ -37,6 +37,13 @@ allocate(size_t num, size_t size, size_t alignment, struct libar2_context *ctx)  #ifndef _POSIX_C_SOURCE  # define _POSIX_C_SOURCE 0  #endif +#ifndef _ISOC11_SOURCE +# ifdef __STDC_VERSION__ +#  if __STDC_VERSION__ >= 201112L +#   define _ISOC11_SOURCE +#  endif +# endif +#endif  	void *ptr;  #if _POSIX_C_SOURCE >= 200112L  	int err; @@ -51,30 +58,27 @@ allocate(size_t num, size_t size, size_t alignment, struct libar2_context *ctx)  		}  	}  	if (num > SIZE_MAX / size) { -		errno = ENOMEM; /* $covered$ */ -		goto enomem; /* $covered$ */ +		/* $covered{$ */ +		errno = ENOMEM; +	fail: /* $covered$ */ +		fprintf(stderr, "Internal test failure: %s\n", strerror(errno)); +		exit(2); +		/* $covered}$ */  	}  #if _POSIX_C_SOURCE >= 200112L  	if (alignment < sizeof(void *))  		alignment = sizeof(void *);  	err = posix_memalign(&ptr, alignment, num * size); -	if (err) { -	enomem: /* $covered$ */ -		fprintf(stderr, "Internal test failure: %s\n", strerror(errno)); /* $covered$ */ -		exit(2); /* $covered$ */ -	} else { -		return ptr; -	} +	if (err) +		goto fail;  #elif defined(_ISOC11_SOURCE)  	ptr = aligned_alloc(alignment, num * size); -	if (!ptr) { -		fprintf(stderr, "Internal test failure: %s\n", strerror(errno)); /* $covered$ */ -		exit(2); /* $covered$ */ -	} -	return ptr; +	if (!ptr) +		goto fail;  #else  # error No implementation for aligned memory allocation available  #endif +	return ptr;  }  static void | 
