tprint error if changing time fails - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit b7cb7453e259084a62e0e52ef310000f45afe998
parent e1ad38bf2f1faf34942b72d7540bcc41e3bbf6e3
Author: rsc 
Date:   Sun, 20 May 2007 14:37:29 +0000

print error if changing time fails

Diffstat:
  M src/cmd/touch.c                     |      10 ++++++++--

1 file changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/src/cmd/touch.c b/src/cmd/touch.c
t@@ -3,6 +3,7 @@
 
 int touch(int, char *);
 ulong now;
+int tflag;
 
 void
 usage(void)
t@@ -20,6 +21,7 @@ main(int argc, char **argv)
         now = time(0);
         ARGBEGIN{
         case 't':
+                tflag = 1;
                 now = strtoul(EARGF(usage()), 0, 0);
                 break;
         case 'c':
t@@ -52,11 +54,15 @@ touch(int nocreate, char *name)
                 fprint(2, "touch: %s: cannot wstat: %r\n", name);
                 return 1;
         }
-        if ((fd = create(name, OREAD, 0666)) < 0) {
+        if((fd = create(name, OREAD, 0666)) < 0) {
                 fprint(2, "touch: %s: cannot create: %r\n", name);
                 return 1;
         }
-        dirfwstat(fd, &stbuff);
+        if(tflag && dirfwstat(fd, &stbuff) < 0){
+                fprint(2, "touch: %s: cannot wstat: %r\n", name);
+                close(fd);
+                return 1;
+        }
         close(fd);
         return 0;
 }