1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /* See BZ #2126. */
- #include <string.h>
- #include <stdio.h>
- int
- do_test (void)
- {
- const char str[] = "axaaba";
- char *token;
- char *cp;
- char *l;
- int result = 0;
- puts ("test strtok");
- cp = strdupa (str);
- printf ("cp = %p, len = %zu\n", cp, strlen (cp));
- token = strtok (cp, "ab");
- result |= token == NULL || strcmp (token, "x");
- printf ("token: %s (%d)\n", token ? token : "NULL", result);
- token = strtok(0, "ab");
- result |= token != NULL;
- printf ("token: %s (%d)\n", token ? token : "NULL", result);
- token = strtok(0, "a");
- result |= token != NULL;
- printf ("token: %s (%d)\n", token ? token : "NULL", result);
- puts ("test strtok_r");
- cp = strdupa (str);
- size_t len = strlen (cp);
- printf ("cp = %p, len = %zu\n", cp, len);
- token = strtok_r (cp, "ab", &l);
- result |= token == NULL || strcmp (token, "x");
- printf ("token: %s, next = %p (%d)\n", token ? token : "NULL", l, result);
- token = strtok_r(0, "ab", &l);
- result |= token != NULL || l != cp + len;
- printf ("token: %s, next = %p (%d)\n", token ? token : "NULL", l, result);
- token = strtok_r(0, "a", &l);
- result |= token != NULL || l != cp + len;
- printf ("token: %s, next = %p (%d)\n", token ? token : "NULL", l, result);
- return result;
- }
- #include <support/test-driver.c>
|