|
|
1.1 ! root 1: int ! 2: lcreat(char *name, int mode) ! 3: { ! 4: char temp[14]; ! 5: int fd; ! 6: ! 7: sprintf(temp, "lcreat.%d", getpid()); /* only works in same file system */ ! 8: fd = creat(temp, mode); ! 9: if (fd < 0) ! 10: return fd; ! 11: if (link(temp, name) < 0) { ! 12: close(fd); ! 13: unlink(temp); ! 14: return -1; ! 15: } ! 16: unlink(temp); ! 17: return fd; ! 18: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.