[Info-vax] Calling standards, was: Re: Byte range locking - was Re: Oracle on VMS

Johnny Billquist bqt at softjar.se
Wed Nov 23 04:06:07 EST 2016


On 2016-11-22 19:52, Simon Clubley wrote:
> On 2016-11-22, Robert A. Brooks <FIRST.LAST at vmssoftware.com> wrote:
>
> However, at the very lowest levels of those code bases, the majority
> still calls into a C API regardless of what the rest of the code is
> written in. This makes the C API on Unix/Linux the Unix/Linux
> equivalent of the common calling standard on VMS.
>
> The main issue I have with the C APIs are the lack of counted strings
> or descriptors for string handling (which annoys me) but that doesn't
> change the fact that the C API _is_ the common calling standard for
> Unix/Linux.

This is muddling the water some. You should keep the C standard library 
separated from the Unix API.

The C standard library use NUL-terminated strings, which (as we all 
know) have serious security problems, and god knows what else.

The Unix API do not. All system calls that take string arguments 
actually have a pointer and a length argument. The system calls do not 
allow the crazyness of the standard library.

	Johnny




More information about the Info-vax mailing list