dir.c32: allow "dir" without an argument to mean "dir ." syslinux-4.00-pre35
authorH. Peter Anvin <hpa@zytor.com>
Sat, 6 Mar 2010 23:13:36 +0000 (15:13 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Sat, 6 Mar 2010 23:13:36 +0000 (15:13 -0800)
People logically expect "dir" to display the current directory.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
com32/modules/dir.c

index cb83f97..10fa5c2 100644 (file)
@@ -147,19 +147,25 @@ nomem:
 
 int main(int argc, char *argv[])
 {
+    int rv;
+
     openconsole(&dev_rawcon_r, &dev_stdcon_w);
     
-    if (argc != 2) {
-       printf("Usage: dir directory\n");
-       return 0;
-    }
-    
     if (getscreensize(1, &rows, &cols)) {
        /* Unknown screen size? */
        rows = 24;
        cols = 80;
     }
 
-    return display_directory(argv[1]);
+    if (argc < 2)
+       rv = display_directory(".");
+    else if (argc == 2)
+       rv = display_directory(argv[1]);
+    else {
+       printf("Usage: dir directory\n");
+       rv = 1;
+    }
+
+    return rv ? 1 : 0;
 }