int main(void) { { char path[] = "./test/casper/formelement.input.test.coffee.tested.do"; char dir[sizeof path]; char base[sizeof path]; dirname(dir, base, path); eqStr(dir, "./test/casper"); eqStr(base, "formelement.input.test.coffee.tested.do"); } { const char *filename = "dir/file.tar.gz"; char *iter = (char*)filename; eqStr(iter, "dir/file.tar.gz"); iter = nextExtension(iter); eqStr(iter, ".tar.gz"); iter = nextExtension(iter); eqStr(iter, ".gz"); iter = nextExtension(iter); eqStr(iter, ""); } { const char *s = "/this/is/a/file.gz"; char hex[strlen(s)*2+1]; char unhex[sizeof hex + 1]; hexify(hex, s); eqStr(hex, "-_this-_is-_a-_file.gz"); unhexify(unhex, hex); eqStr(unhex, "/this/is/a/file.gz"); } { char cwd[] = "/root", target[] = "./a/b", dest[4096]; normalizePath(dest, cwd, target); eqStr(dest, "/root/a/b"); } { char cwd[] = "/root/other", target[] = "./a/../b/dir/e", dest[4096]; normalizePath(dest, cwd, target); eqStr(dest, "/root/other/b/dir/e"); } return 0; }
static bool checkForExtension(const GLubyte* pExtensions, const GLubyte* pExtension) { for (;*pExtensions != '\0'; pExtensions = nextExtension(pExtensions)) { if (extensionEqual(pExtensions, pExtension)) { return true; } } return false; }