repo: uritools
action: commit
revision: 
path_from: 
revision_from: 8a8602011b11a4f53a96facd4d5dc0c0aed7b6a4:
path_to: 
revision_to: 
git.thebackupbox.net
uritools
git clone git://git.thebackupbox.net/uritools
commit 8a8602011b11a4f53a96facd4d5dc0c0aed7b6a4
Author: epoch 
Date:   Sun Jun 16 10:58:13 2019 -0500

    added ability for uriunescape to read from stdin if there are no arguments

diff --git a/uriunescape.c b/uriunescape.c
index aafc6ea3680c5cb5e6f5501e7d7e241f2e339c63..
index ..0a7ef5dd572be35aabbbd42fec8bca192b121df7 100644
--- a/uriunescape.c
+++ b/uriunescape.c
@@ -2,11 +2,21 @@
 #include 

 int main(int argc,char *argv[]) {
+  int n;
   int len;
-  for(argv++,argc--;argc;argc--,argv++) {
-   len=uriunescape(*argv,*argv);
-   write(1,*argv,len);
-   if(argc-1) write(1," ",1);
+  char buf[4096];
+  if(argc > 1) {
+   for(argv++,argc--;argc;argc--,argv++) {
+    len=uriunescape(*argv,*argv);
+    write(1,*argv,len);
+    if(argc-1) write(1," ",1);
+   }
+  } else {
+   while((n=read(0,buf,sizeof(buf)-1)) > 0) {
+    buf[n]=0;
+    len=uriunescape(buf,buf);
+    write(1,buf,len);
+   }
   }
   return 0;
 }

-----END OF PAGE-----