]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/urlencode.c
fix filetype detecton by suffix so that multiple dots dont confuse it. (thanks kvik)
[plan9front.git] / sys / src / cmd / urlencode.c
index 0657312b41807c7f452e1fd903997d5cdf02e764..1d10a977f708c6d64cf16cea63214cbb46a4843b 100644 (file)
@@ -14,7 +14,7 @@ hexdigit(int c)
 {
        char *p;
 
-       if(c >= 0){
+       if(c > 0){
                if((p = strchr(Hex, c)) != 0)
                        return p - Hex;
                if((p = strchr(hex, c)) != 0)
@@ -44,9 +44,12 @@ main(int argc, char *argv[])
        } ARGEND;
 
        if(argc == 1){
-               close(0);
-               if(open(*argv, OREAD) < 0)
+               int fd;
+
+               fd = open(*argv, OREAD);
+               if(fd < 0)
                        sysfatal("%r");
+               if(fd != 0) dup(fd, 0);
        } else if(argc > 1)
                usage();
 
@@ -80,7 +83,7 @@ main(int argc, char *argv[])
                }
        } else {
                while((c = Bgetc(&bin)) >= 0){
-                       if(strchr("/$-_@.!*'(),", c)
+                       if(c>0 && strchr("/$-_@.!*'(),", c)
                        || 'a'<=c && c<='z'
                        || 'A'<=c && c<='Z'
                        || '0'<=c && c<='9')