home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / v21 / 020 < prev    next >
Internet Message Format  |  1990-12-05  |  2KB

  1. From uucp@tic.com  Tue Aug  7 20:13:25 1990
  2. Received: from cs.utexas.edu by uunet.uu.net (5.61/1.14) with SMTP 
  3.     id AA14891; Tue, 7 Aug 90 20:13:25 -0400
  4. Posted-Date: 7 Aug 90 17:37:01 GMT
  5. Received: by cs.utexas.edu (5.64/1.68)
  6.     id AA22134; Tue, 7 Aug 90 17:58:40 -0500
  7. Received: by longway.tic.com (4.22/tic.1.2)
  8.     id AA03996; Tue, 7 Aug 90 16:52:12 cdt
  9. From: Guy Harris <auspex!guy@cs.utexas.edu>
  10. Newsgroups: comp.std.unix
  11. Subject: Re: is struct utimbuf in the standard sys/types.h?
  12. Message-Id: <10980@cs.utexas.edu>
  13. References: <423@usenix.ORG> <10937@cs.utexas.edu>
  14. Sender: fletcher@cs.utexas.edu
  15. Reply-To: std-unix@uunet.uu.net
  16. Organization: Auspex Systems, Santa Clara
  17. Date: 7 Aug 90 17:37:01 GMT
  18. Apparently-To: std-unix-archive@uunet.uu.net
  19.  
  20. From:  guy@auspex.uucp (Guy Harris)
  21.  
  22.  
  23. >I am having some difficulty following the above.  How can a portable
  24. >application do anything to vendor-defined fields?
  25.  
  26. That's precisely the problem.
  27.  
  28. >Isn't the application non-portable as soon as it does anything (read or write)
  29. >to a vendor-defined field?
  30.  
  31. Yup.  Unfortunately, the application is non-functional (at least not
  32. *correctly* functional) if it *doesn't* initialize the vendor-defined
  33. fields of a structure that's handed to the system, unless the system can
  34. somehow always figure out that they haven't been initialized - e.g., if
  35. there's some flag field in the structure that *is* specified by the
  36. standard, and you have to set some flag in that field *not* specified by
  37. the standard in order to get the system to look at the other fields not
  38. in the standard.
  39.  
  40. Unfortunately, in the case of "utime()", there's no such flag, so a
  41. portable application can, at best, only avoid setting the microseconds
  42. values of a file's accessed or modified times to some random value by
  43. "memset"ting the entire "utimbuf" structure to zero before filling it in
  44. and using it (or otherwise ensuring that the structure is zero before
  45. using it, e.g. using a static structure).
  46.  
  47.  
  48. Volume-Number: Volume 21, Number 20
  49.  
  50.