Exemple #1
0
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;
}