aboutsummaryrefslogtreecommitdiffstats
path: root/strccpy.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--strccpy.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/strccpy.c b/strccpy.c
index f4f7630..613ffbe 100644
--- a/strccpy.c
+++ b/strccpy.c
@@ -12,6 +12,28 @@ extern inline char *libsimple_strccpy(char *restrict, const char *restrict, int)
int
main(void)
{
+ char buf[100];
+
+ memset(buf, 'x', sizeof(buf));
+ buf[sizeof(buf) - 1] = '\0';
+ assert(libsimple_strccpy(buf, "hello", '\0') == &buf[6]);
+ assert(!strcmp(buf, "hello"));
+
+ memset(buf, 'x', sizeof(buf));
+ buf[sizeof(buf) - 1] = '\0';
+ assert(libsimple_strccpy(buf, "hello", 'o') == &buf[5]);
+ assert(!strcmp(buf, "hello"));
+
+ memset(buf, 'x', sizeof(buf));
+ buf[sizeof(buf) - 1] = '\0';
+ assert(libsimple_strccpy(buf, "hello", 'l') == &buf[3]);
+ assert(!strcmp(buf, "hel"));
+
+ memset(buf, 'x', sizeof(buf));
+ buf[sizeof(buf) - 1] = '\0';
+ assert(libsimple_strccpy(buf, "hello", 'x') == NULL);
+ assert(!strcmp(buf, "hello"));
+
return 0;
}