1: #include <stdio.h>
   2: 
   3: 
   4: main(argc,argv)
   5: int argc;
   6: char *argv[];
   7: {
   8: int i;
   9: static int force = 1;
  10: 
  11: for(i = 1 ; i < argc ; ++i)
  12:     if( strcmp(argv[i], "-c") )
  13:         touch(force, argv[i]);
  14:     else
  15:         force = 0;
  16: }
  17: 
  18: 
  19: 
  20: 
  21: #include <sys/types.h>
  22: #include <sys/stat.h>
  23: 
  24: 
  25: touch(force, name)
  26: int force;
  27: char *name;
  28: {
  29: struct stat stbuff;
  30: char junk[1];
  31: int fd;
  32: 
  33: if( stat(name,&stbuff) < 0)
  34:     if(force)
  35:         goto create;
  36:     else
  37:         {
  38:         fprintf(stderr, "touch: file %s does not exist.\n", name);
  39:         return;
  40:         }
  41: 
  42: if(stbuff.st_size == 0)
  43:     goto create;
  44: 
  45: if( (fd = open(name, 2)) < 0)
  46:     goto bad;
  47: 
  48: if( read(fd, junk, 1) < 1)
  49:     {
  50:     close(fd);
  51:     goto bad;
  52:     }
  53: lseek(fd, 0L, 0);
  54: if( write(fd, junk, 1) < 1 )
  55:     {
  56:     close(fd);
  57:     goto bad;
  58:     }
  59: close(fd);
  60: return;
  61: 
  62: bad:
  63:     fprintf(stderr, "Cannot touch %s\n", name);
  64:     return;
  65: 
  66: create:
  67:     if( (fd = creat(name, 0666)) < 0)
  68:         goto bad;
  69:     close(fd);
  70: }

Defined functions

main defined in line 4; never used
touch defined in line 25; used 1 times
  • in line 13
Last modified: 1981-07-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 674
Valid CSS Valid XHTML 1.0 Strict