diff options
Diffstat (limited to 'src/GeneralizedPolynomial-Uniform/test_strlcpy.c')
-rw-r--r-- | src/GeneralizedPolynomial-Uniform/test_strlcpy.c | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/GeneralizedPolynomial-Uniform/test_strlcpy.c b/src/GeneralizedPolynomial-Uniform/test_strlcpy.c new file mode 100644 index 0000000..247c972 --- /dev/null +++ b/src/GeneralizedPolynomial-Uniform/test_strlcpy.c @@ -0,0 +1,74 @@ +/* test_strlcpy -- test driver for Util_Strlcpy() */ +/* $Header$ */ + +#include <string.h> +#include <stdio.h> + +#ifndef LOCALINTERP_STANDALONE_BUILD + #include "cctk.h" +#endif + +#include "InterpLocalUniform.h" + +/******************************************************************************/ + +/* prototypes */ +size_t tryit(size_t dst_size, const char* src); +void nprint(int n_print, const char* buf); + +/* global data structures */ +static char buffer[100]; + +/******************************************************************************/ + +/* + * This program is a test driver for Util_Strlcpy() . + */ + +int main(void) +{ +size_t n; + +n = tryit(9, "hello"); +printf("bufsize=9: result=%d buffer=", (int) n); +nprint(9, buffer); + +n = tryit(6, "hello"); +printf("bufsize=6: result=%d buffer=", (int) n); +nprint(6, buffer); + +n = tryit(5, "hello"); +printf("bufsize=5: result=%d buffer=", (int) n); +nprint(5, buffer); + +n = tryit(4, "hello"); +printf("bufsize=4: result=%d buffer=", (int) n); +nprint(4, buffer); + +return 0; +} + +/******************************************************************************/ + +size_t tryit(size_t dst_size, const char* src) +{ +strcpy(buffer, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); +return LocalInterp_Strlcpy(buffer, src, dst_size); +} + +/******************************************************************************/ + +/* print n_print characters of buf[], with visible indication of '\0' */ +void nprint(int n_print, const char* buf) +{ +int i; + +printf("\""); + for (i = 0 ; i < n_print ; ++i) + { + if (buf[i] == '\0') + then printf("\\0"); + else printf("%c", buf[i]); + } +printf("\"\n"); +} |