-static void t(char *p, char *b) {
- char *tmp = strdup(p);
- char *s = dirname(tmp);
-
- if (strcmp(b,s) != 0)
- error("dirname(\"%s\") returned \"%s\"; expected \"%s\"\n", p, s, b);
- free(tmp);
+#define T(path, want) \
+{ \
+ char tmp[1000]; \
+ char *got = dirname(strcpy(tmp, path)); \
+ if (strcmp(want, got) != 0) \
+ error("dirname(\"%s\") got \"%s\" want \"%s\"\n", path, got, want); \