delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2003/02/01/19:03:08

Sender: rich AT phekda DOT freeserve DOT co DOT uk
Message-ID: <3E3C602C.C2EDF04B@phekda.freeserve.co.uk>
Date: Sun, 02 Feb 2003 00:02:52 +0000
From: Richard Dawe <rich AT phekda DOT freeserve DOT co DOT uk>
X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.23 i586)
X-Accept-Language: de,fr
MIME-Version: 1.0
To: djgpp-workers AT delorie DOT com
Subject: Re: stdio.h: vfscanf(), vscanf(), vsscanf()
References: <200302011411 DOT h11EBul15524 AT speedy DOT ludd DOT luth DOT se>
Reply-To: djgpp-workers AT delorie DOT com

Hello.

ams AT ludd DOT luth DOT se wrote:
> Either have vfscanf(), vscanf() and vsscanf() been added to the wrong
> section in stdio.h or they have become standard (in C99).

They are standard now.
 
> Likewise for strtoll() and strtoull() in stdlib.h.

They are standard now.

I haven't been through the headers yet, to check whether things are declared
in the right places.
 
> If they have become standard in C99, do we just move them? This would
> result in polluting the name space for C89. On the other hand trying
> to maintain declaring them in different places depending on which
> standard is selected (given we can detect this) would be a nightmare.

I think we should have another ANSI section in the header files. Something
like this, perhaps:

#ifndef __dj_ENFORCE_ANSI_FREESTANDING

...C89 declarations here...

#if (__STDC_VERSION__ >= 199901L) || !defined(__STRICT_ANSI)
...C99 declarations here
#endif

#ifndef __STRICT_ANSI__

...

#ifndef _POSIX_SOURCE

...

#endif
#endif
#endif

There would also be another section in <libc/stubs.h> for ANSI C89 functions
that call ANSI C99 functions (if there are any). tests/libclink would need
updating too.

Bye, Rich =]

-- 
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019