看板 DFBSD_kernel 關於我們 聯絡資訊
On Sat, Apr 02, 2005 at 04:59:06PM +0200, Devon H. O'Dell wrote: > > 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 > > Why should that `not happen here'? Neither unlink nor rm should > be called as unlink////. Perhaps I'm misunderstanding. That's exactly the reason why. It doesn't matter if they are called /tmp/unlink////, because some stupid caller didn't include the final rm (/tmp/unlink////rm). Just use getprogname() for this, the only exception would be a program messing with argv[0] first and expecting getprogname() to work later, but for that you can always call setprogname() too. Joerg