tprint error if changing time fails - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit b7cb7453e259084a62e0e52ef310000f45afe998
 (DIR) parent e1ad38bf2f1faf34942b72d7540bcc41e3bbf6e3
 (HTM) Author: rsc <devnull@localhost>
       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(-)
       ---
 (DIR) 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;
        }