/* get the attributes of the file associated with
the name; do not follow any symbolic links */
if (lstat(file, &buf) < 0)
goto error;
if ((buf.st_mode&S_IFLNK) == S_IFLNK){
fprintf(stderr, "%s is a symbolic link\n", file);
goto error;
}
/* open the file, write to it, and close it */
if ((fp = fopen(file, "a")) == NULL)
goto error;
while(fgets(buf, BUFSIZ, stdin) != NULL)
fputs(buf, fp);
(void) fclose(fp);
![]() |
Matt Bishop Office: 3059 Engineering Unit II Phone: +1 (530) 752-8060 Fax: +1 (530) 752-4767 Email: bishop@cs.ucdavis.edu | Copyright Matt Bishop, 2000. All federal and state copyrights reserved for all original material presented in this course through any medium, including lecture or print. |