9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Steve Simon" <steve@quintile.net>
To: 9fans@9fans.net
Subject: Re: [9fans] Python
Date: Mon, 11 Oct 2010 02:55:41 +0100	[thread overview]
Message-ID: <e6f6bb5fa779b4b54398facbef6d6e58@quintile.net> (raw)
In-Reply-To: <AANLkTin-reLzn33zvogE=PF=5AdsSShfxcNfF8rG8KBA@mail.gmail.com>

this is a snippet of /sys/include/ape/stdio.h

	extern int scanf(const char *, ...);
	extern int sprintf(char *, const char *, ...);
	#ifdef _C99_SNPRINTF_EXTENSION /* user knows about c99 out-of-bounds returns */
	extern int snprintf(char *, size_t, const char *, ...);
	extern int vsnprintf(char *, size_t, const char *, va_list);
	#else
	/* draw errors on any attempt to use *snprintf value so old code gets changed */
	extern void snprintf(char *, size_t, const char *, ...);
	extern void vsnprintf(char *, size_t, const char *, va_list);
	#endif
	extern int sscanf(const char *, const char *, ...);
	extern int vfprintf(FILE *, const char *, va_list);

snprintf is a BSD-ism (I beleive) and so is not codeifed in any hard spec.

traditionally it has either returned void, or an int which contains
the number of bytes written to the string.

C99 specifies that the return value is the size for the buffer necessary to
format the arguments, ignoring any length specifier.

These two are mutually exclusive and any code written for the former case
will probably explode if compiled with the latter libraries, hence the definition
in stdio.h to catch the unwary.

You should be able to add -D _C99_SNPRINTF_EXTENSION to your mkfile's
CFLAGS definition to make it build.

-Steve



  reply	other threads:[~2010-10-11  1:55 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-10 14:06 Michaelian Ennis
2010-10-10 14:21 ` Federico G. Benavento
2010-10-11  1:30   ` Michaelian Ennis
2010-10-11  1:55     ` Steve Simon [this message]
2010-10-11 23:59       ` Michaelian Ennis
  -- strict thread matches above, loose matches on Subject: below --
2007-01-04 22:31 [9fans] python ron minnich
2007-01-05  4:14 ` John Barham
2007-01-05  6:18   ` erik quanstrom
2007-01-05  7:03     ` Dave Lukes
2007-01-05  7:09       ` Bruce Ellis
2007-01-05  7:26       ` Skip Tavakkolian
2006-12-23 21:50 Bad-Santa
2006-12-23 23:54 ` ron minnich
2006-12-24  1:00   ` Russ Cox
2006-12-25  0:28     ` LiteStar numnums
2006-12-30  5:06       ` John Floren
2006-12-23  5:10 ron minnich
2006-12-23  5:27 ` Russ Cox
2006-12-23  5:31   ` ron minnich
2006-12-23  6:19     ` Russ Cox
2006-12-23  7:13       ` arisawa
2006-12-23 13:29   ` LiteStar numnums
2006-12-23 14:23     ` arisawa
2006-12-23 20:20       ` Russ Cox
2006-12-23 11:57 ` Matt
2003-11-03 16:11 matt
2003-11-03 15:20 ` Russ Cox
2002-03-11 18:51 Russ Cox
2002-03-18 13:21 ` Boyd Roberts
2002-02-08 13:51 Boyd Roberts
2001-12-06  7:29 Russ Cox
2001-12-06  7:17 ` Lucio De Re
2001-12-02  9:39 Russ Cox
2001-12-02 12:08 ` Boyd Roberts
     [not found] ` <rsc@plan9.bell-labs.com>
2001-12-02 16:05   ` Jonathan Sergent
2001-12-03 22:24 ` Laura Creighton
2000-11-06  8:26 [9fans] Python Jonathan Sergent
1999-01-16  5:53 arisawa
1998-12-30  0:17 arisawa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e6f6bb5fa779b4b54398facbef6d6e58@quintile.net \
    --to=steve@quintile.net \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).