Re: rm/unlink and `how to find out who i am'

看板DFBSD_kernel作者時間21年前 (2005/04/03 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/6 (看更多)
On Sat, Apr 02, 2005 at 04:05:50PM +0200, Devon H. O'Dell wrote: > Hey, > > I dunno if there are other files that are hard linked together > and how these are all testing what name they were called by, but > Liam pointed out the case of rm(1) to me today and asked why it > was going about that like it was. At least gzip and compress come to my mind directly. > I also don't get it. > > To me, it seems that something like: > > if (strncmp("unlink", basename(*argv)) == 0) > > would make more sense than how it's doing it now (with a > temporary pointer to const char and strrchr). I know that > basename(3) isn't POSIX -- is this an issue? Nope, the problem is that basename(3) has a different semantic. It does strip trailing slashes, which should not happen here. The easiest and fastest way is calling getprogname(), crt1.c already did the necessary parsing (with a poor man's version of strrchr BTW). Joerg
文章代碼(AID): #12Jjti00 (DFBSD_kernel)
討論串 (同標題文章)
文章代碼(AID): #12Jjti00 (DFBSD_kernel)