From: bet@internet.sbi.com (Bennett E. Todd) Subject: Re: Size-change of ino_t Date: Tue, 16 Jun 1992 23:18:44 GMT
I think the way to make a change like this is _not_ to introduce a new
and different call visible at the C source level, but to just change the
interface.
I'd go ahead and create a new system call, with the new interface.
Change the header file. Make the libc.a glue for the routine point to
the new routine --- make the old routine inaccessible to anything but
precompiled binaries, which can use it for backward compatibility.
Eventually the old backwards-compatibility binary interface can be
phased out (at the same time as the shared library that accesses it is
dropped).
With ANSI function prototyping throughout /usr/include, this strategy is
safe from ``silent'' failures due to type mismatches. Anything that
needs editing to accomodate the changed interface, will trigger a nicely
explanatory compiler error message.
Long Live ``gcc -Wall''!
-Bennett
bet@sbi.com