X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmisc%2Fbasename.c;h=071966a2253bccc73019e4eb8340e2cd9594a330;hb=462b4f35652098e26c677f89df6990428a4aad6a;hp=95e0d3662a2dcef3c8eebe44b76a3bc0220ac7c3;hpb=80371a77c4d6978e786ab2322161c4f8e299e891;p=libc-test diff --git a/src/misc/basename.c b/src/misc/basename.c index 95e0d36..071966a 100644 --- a/src/misc/basename.c +++ b/src/misc/basename.c @@ -3,22 +3,24 @@ #include #include "test.h" -static void t(char *p, char *b) { - char *tmp = strdup(p); - char *s = basename(tmp); - - if (strcmp(b,s) != 0) - error("basename(\"%s\") returned \"%s\"; expected \"%s\"\n", p, s, b); - free(tmp); +#define T(path, want) \ +{ \ + char tmp[1000]; \ + char *got = basename(strcpy(tmp, path)); \ + if (strcmp(want, got) != 0) \ + error("basename(\"%s\") got \"%s\" want \"%s\"\n", path, got, want); \ } -void test_basename() { +int main() +{ if (strcmp(".", basename(0)) != 0) error("basename(0) returned \"%s\"; expected \".\"\n", basename(0)); - t("", "."); - t("/usr/lib", "lib"); - t("/usr/", "usr"); - t("/", "/"); - t("///", "/"); - t("//usr//lib//", "lib"); + T("", "."); + T("/usr/lib", "lib"); + T("/usr/", "usr"); + T("usr/", "usr"); + T("/", "/"); + T("///", "/"); + T("//usr//lib//", "lib"); + return test_status; }