#include #include #include int main() { /* intentionally a macro: basename modifies its argument */ #define test_string(x, expectval) do { \ char str[] = x; \ assert(strcmp(basename(str), expectval) == 0); \ } while (0) test_string("/usr/lib", "lib"); test_string("/usr/", "usr"); test_string("/", "/"); test_string(".", "."); test_string("..", ".."); }