Ultrix 3.0 changed basename(1)

Mike Bryan mjb at acd4.UUCP
Sat Aug 26 00:40:51 AEST 1989


Arrgh!  I just discovered a change to basename(1) in Ultrix 3.0.  My
apologies if this has been posted before, but I don't recall seeing
any news about this.

It seems basename() now does some limited regular expression handling.
Therefore, the command "basename /vmunix .x" will produce "vmun",
rather than the expected "vmunix".  A workaround (the new required
method?) is to say "basename /vmunix \\.x".  Of course this was not
documented in the release notes, although the manual page does mention
the blurb about RE's (but not the incompatibility!!!).  The problem
comes about for us because we use basename in certain Makefile entries
to strip out a ".c" if it is inadvertently left on for lint checks, as
in "f=`basename $f .c`.c".  Of course, if $f is now something like
"coproc", we're hosed.

Was this done just because it would be "useful/incompatible", or was
it done to match some other flavor of Unix???

Excuse me while I go change 150 million Makefiles...
-- 
Mike Bryan, Applied Computing Devices, 100 N Campus Dr, Terre Haute IN 47802
Phone: 812/232-6051  FAX: 812/231-5280  Home: 812/232-0815
UUCP: uunet!acd4!mjb  ARPA: acd4!mjb at uunet.uu.net
"Did you make mankind after we made you?" --- XTC, "Dear God"



More information about the Comp.unix.ultrix mailing list