aboutsummaryrefslogtreecommitdiffstats
path: root/stpmove.c
diff options
context:
space:
mode:
Diffstat (limited to 'stpmove.c')
-rw-r--r--stpmove.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/stpmove.c b/stpmove.c
index 5457c21..e691c23 100644
--- a/stpmove.c
+++ b/stpmove.c
@@ -12,6 +12,26 @@ extern inline char *libsimple_stpmove(char *, const char *);
int
main(void)
{
+ char buf[1024];
+
+ memset(buf, 'x', sizeof(buf));
+ buf[sizeof(buf) - 1] = '\0';
+ strcpy(buf, "hello world");
+ assert(libsimple_stpmove(&buf[3], buf) == &buf[11 + 3]);
+ assert(!strcmp(buf, "helhello world"));
+
+ memset(buf, 'x', sizeof(buf));
+ buf[sizeof(buf) - 1] = '\0';
+ strcpy(buf, "hello world");
+ assert(libsimple_stpmove(buf, &buf[3]) == &buf[11 - 3]);
+ assert(!strcmp(buf, "lo world"));
+
+ memset(buf, 'x', sizeof(buf));
+ buf[sizeof(buf) - 1] = '\0';
+ strcpy(buf, "hello world");
+ assert(libsimple_stpmove(buf, buf) == &buf[11]);
+ assert(!strcmp(buf, "hello world"));
+
return 0;
}