Created attachment 7540 [details] Drop bashism in smbtar We have this patch for quite some time in Debian and it probably deserves to be included upstream even if this is a very low-hanging fruit..:-)
the proposed printf doesn't work with NetBSD's "ash", so this doesn't make it more portable here. On the other hand I can't think of a shell which would not print a "\" when echo "\\" is being done. I don't see where this might be unportable shell code. Maybe the bashism checker is a bit overzealous. Until you show us a shell where this code fails, we should treat this as correct I think.
> the proposed printf doesn't work with NetBSD's "ash", so this doesn't make it > more portable here. Hmm, why does NetBSD not use a POSIX compliant shell? > On the other hand I can't think of a shell which would not print a "\" when > echo "\\" is being done. I don't see where this might be unportable shell code. > Maybe the bashism checker is a bit overzealous. Until you show us a shell where > this code fails, we should treat this as correct I think. In practice when using "\\" shells that don't support it, will probably use the echo command which handles it without problems. According to POSIX it's not guaranteed to work though, while printf should.
(In reply to comment #2) > > the proposed printf doesn't work with NetBSD's "ash", so this doesn't make it > > more portable here. > > Hmm, why does NetBSD not use a POSIX compliant shell? ash isn't the default shell there. You also have ash on other platforms optionally. > In practice when using "\\" shells that don't support it, will probably > use the echo command which handles it without problems. According to > POSIX it's not guaranteed to work though, while printf should. do you have a pointer to where posix sais that?