Merge branch 'sg/do-not-skip-non-httpd-tests'
[gitweb.git] / t / helper / test-dir-iterator.c
index a5b96cb0dcfd0e5b493638bc5d6a310ffbf87db3..659b6bfa81df6d0bcffb8d0a975492d54d79d6bc 100644 (file)
@@ -4,13 +4,21 @@
 #include "iterator.h"
 #include "dir-iterator.h"
 
+static const char *error_name(int error_number)
+{
+       switch (error_number) {
+       case ENOENT: return "ENOENT";
+       case ENOTDIR: return "ENOTDIR";
+       default: return "ESOMETHINGELSE";
+       }
+}
+
 /*
  * usage:
  * tool-test dir-iterator [--follow-symlinks] [--pedantic] directory_path
  */
 int cmd__dir_iterator(int argc, const char **argv)
 {
-       struct strbuf path = STRBUF_INIT;
        struct dir_iterator *diter;
        unsigned int flags = 0;
        int iter_status;
@@ -27,11 +35,10 @@ int cmd__dir_iterator(int argc, const char **argv)
        if (!*argv || argc != 1)
                die("dir-iterator needs exactly one non-option argument");
 
-       strbuf_add(&path, *argv, strlen(*argv));
-       diter = dir_iterator_begin(path.buf, flags);
+       diter = dir_iterator_begin(*argv, flags);
 
        if (!diter) {
-               printf("dir_iterator_begin failure: %d\n", errno);
+               printf("dir_iterator_begin failure: %s\n", error_name(errno));
                exit(EXIT_FAILURE);
        }