On 09/17/10 13:28, Eric Blake wrote: > I guess you're starting to convince me: the _only_ interface pattern we > need is: > > fdutimens (fd, name, time) > fdutimensat (fd, dir, name, time, flag) > fdchmod (fd, name, mode) > fdchmodat (fd, dir, name, mode, flag) > > because they are fd* wrappers around these function pairs: > > futimens (fd, time) and utimens (name, time) > futimens (fd, time) and utimensat (dir, name, time, flag) > fchmod (fd, mode) and chmod (name, mode) > fchmod (fd, mode) and fchmodat (dir, name, mode, flag) > > In other words, creation of an fd* wrapper entails combining the fd from > the fd-variant first, and all other arguments from the name-based > variant second.
Yes, that's the pattern I have in mind. 'tar' doesn't need fdutimens, fdchmod, etc. It needs only fdutimensat, fdchmodat, etc. It may be easier to do just the fd*at versions for now. > So, would you like me to start making the changes? Sure! Maybe start with fdutimensat, and make sure it works, and then we can go on to the others?