1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-12 14:29:28 +00:00
freebsd/lib/libc/stdio
Andrey A. Chernov 4ecaf22055 snprintf return value fixes to conform Single Unix specs:
1) if buffer size is smaller than arguments size, return buffer
size, not arguments size as before.

2) if buffer size is 0, return 0, not EOF as before.
(now it is compatible with Linux and Apache implementations too).

NOTE: Single Unix specs says:

If the value of n {buffer size} is zero on a call to snprintf(), an
unspecified value less than 1 is returned.

It means we can't return EOF since EOF can take *any* value in general
not especially < 1. Better variant will be return -1 (it is less then
1 and different with n == 1 case) but -1 value is already occuped by
EOF in our implementation, so we can't distinguish true IO error
in that case. So 0 here is only possible case still conforming
to Single Unix specs.
1997-12-24 12:31:32 +00:00
..
asprintf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
clrerr.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fclose.3 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
fclose.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fdopen.c BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
feof.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
ferror.3 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
ferror.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fflush.3 Sort cross references. 1997-01-20 23:23:22 +00:00
fflush.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fgetc.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fgetln.3 Correctly use .Fn instead of .Nm to reference function names 1996-08-22 23:31:07 +00:00
fgetln.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fgetpos.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fgets.3 Correct the paramter type of the second argument to fgets. 1996-08-06 22:34:44 +00:00
fgets.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fileno.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
findfp.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
flags.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
floatio.h BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
fopen.3 Fixed #include and/or prototype bugs in synopsis. 1997-04-13 13:35:33 +00:00
fopen.c BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
fprintf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fpurge.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fputc.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fputs.3 Sort cross references. 1997-01-20 23:23:22 +00:00
fputs.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fread.3 Fixed various problems: typos, grammer, missing include files 1996-05-23 01:05:25 +00:00
fread.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
freopen.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
fscanf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fseek.3 Fixed #include and/or prototype bugs in synopsis. 1997-04-13 13:35:33 +00:00
fseek.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fsetpos.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
ftell.c Merge from Lite2 1997-03-11 11:40:40 +00:00
funopen.3 Fixed #include and/or prototype bugs in synopsis. 1997-04-13 13:35:33 +00:00
funopen.c BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
fvwrite.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fvwrite.h BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
fwalk.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
fwrite.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
getc.3 Sort cross references. 1997-01-20 23:23:22 +00:00
getc.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
getchar.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
gets.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
getw.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
glue.h BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
local.h Import CSRG 4.4BSD-Lite2 lib/libc onto vendor branch 1997-03-11 11:29:42 +00:00
makebuf.c BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
Makefile.inc Sorted lists. 1997-10-21 08:41:15 +00:00
mktemp.3 Fix a typo. 1996-05-01 22:49:36 +00:00
mktemp.c Fix race 1997-04-07 18:01:10 +00:00
perror.c perror () does not prepend ": " for the non-NULL argument "". close PR 1492 1996-09-30 15:39:18 +00:00
printf.3 FIxed arg types (mostly missing consts) in synopsis. 1997-03-19 00:52:58 +00:00
printf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
putc.3 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
putc.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
putchar.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
puts.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
putw.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
refill.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
remove.3 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
remove.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
rewind.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
rget.c Suggested by: Bruce Evans, Jeffrey Hsu, Gary Palmer 1996-06-22 10:34:15 +00:00
scanf.3 Add 64 bit int support to scanf() 1997-07-01 17:46:39 +00:00
scanf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
setbuf.3 Fixed #include and/or prototype bugs in synopsis. 1997-04-13 13:35:33 +00:00
setbuf.c BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
setbuffer.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
setvbuf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
snprintf.c snprintf return value fixes to conform Single Unix specs: 1997-12-24 12:31:32 +00:00
sprintf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
sscanf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
stdio.3 Sort cross references. 1997-01-20 23:23:22 +00:00
stdio.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
tempnam.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
tmpfile.c BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
tmpnam.3 Added missing section numbers to a bunch of .Xr macros, or 1996-03-27 20:49:07 +00:00
tmpnam.c BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
ungetc.3 Sort cross references. 1997-01-20 23:23:22 +00:00
ungetc.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
vasprintf.c Rework previous commit.. I was confused by the number of diffs in the PR 1997-07-06 08:42:37 +00:00
vfprintf.c Comment that long double is poorly implemented, not that it is unimplemented. 1997-12-19 21:59:22 +00:00
vfscanf.c Fixed long double formats. They were mostly not implemented except 1997-11-23 06:02:47 +00:00
vprintf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
vscanf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
vsnprintf.c snprintf return value fixes to conform Single Unix specs: 1997-12-24 12:31:32 +00:00
vsprintf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
vsscanf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
wbuf.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
wsetup.c Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00