21 Commits

Author SHA1 Message Date
tjr
12a8faa64a Handle numbers larger than QUAD_MAX for unsigned conversions correctly.
Exit with nonzero status if a conversion failed.
Play nice if used as a shell builtin (currently disabled).

Submitted by:	bde (partially)
Approved by:	mike
2002-04-25 01:10:11 +00:00
jmallett
d1fecdf4b5 - printf shouldn't bail out if a conversion fails, it should just keep
processing them.
 - \c escape to immediately stop output (similar to echo's \c)
 - \0NNN should be allowed for octal character escapes (instead of just \NNN)
 - %b conversion, which is like %s but interprets \n \t etc. inside the
   string is missing.

And I may not be any poet, but in lieu of an in-tree regression test:
ref5% ./printf '%s%b%b%c%s%d\n' 'PR' '\0072' '\t' '3' '56' 0x10
PR:     35616

Submitted by:	tjr
MFC after:	1 week
2002-04-23 02:56:16 +00:00
imp
1698cb216e remove __P 2002-03-22 01:33:25 +00:00
dwmalone
71a3cce2f6 Warns cleanups. 2001-12-03 21:27:45 +00:00
ache
1f66809615 Localize it (LC_NUMERIC) 2001-02-10 06:49:53 +00:00
ben
fde2e04b05 Fix printf(1) for cases where a long string with no format specifiers is
followed by a %d (probably others too) format specifier.

Reviewed by:	audit
2000-12-21 22:21:38 +00:00
imp
01ea63e213 When we have both a rcsid and sccsid, ifdef 0 the sccsid. This
appears to be the standard FreeBSD way to do this.  style(9) is silent
about this, however.
2000-09-04 06:11:25 +00:00
se
26c685c42a Extend to deal with 64 bit numeric arguments. 2000-07-10 21:32:41 +00:00
cracauer
582b546eb7 Remove redundat extern declaration 2000-04-20 09:31:54 +00:00
bde
c586f2866a Fixed warnx format errors in printf and csh, and snprintf format errors
in sh, by using separate macros for the 1, 2 and 3-arg calls to warnx.
(The 3-arg warnx macro in sh/bltin/bltin.h used to require bogus dummy
args.)
1998-12-07 12:14:04 +00:00
jdp
0fdbfe2bab Back out revision 1.10. It broke the build of sh, which compiles
this file with warnx() defined as a macro.
1997-11-18 15:23:23 +00:00
jdp
c0275eb956 Fix: too many arguments for format string in 4 calls to warnx(). 1997-11-18 05:45:19 +00:00
steve
c61e376617 #include <unistd.h> for getopt(3) call. 1997-08-07 21:47:31 +00:00
imp
141381e1cb compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
steve
aff0872665 -Wall cleaning. 1996-12-14 05:32:27 +00:00
steve
9ff459e9a2 Remove annoying -Wall warning. 1996-10-06 02:40:39 +00:00
peter
dd85f245b6 When used as a shell builtin, this program decoded a subset of arguments
known to printf(3) and then used printf() to format it... The only
problem what the #define printf out1fmt.  The code was behaving differently
when run as a shell builtin since out1fmt() isn't printf(3).

Simple hack.  Print to a buffer and fputs (also #defined for sh) the
result.  This should fix the printf builtin problem in PR#1673, rather
than leaving the call commented out.  (printf.o was being statically linked
in anyway, we might as well use it)
1996-10-01 04:56:59 +00:00
joerg
ea83bba5aa Move out some of the shell builtin bogosity from printf's source to
sh's builtin/bltin.h.
1995-12-10 15:40:42 +00:00
rgrimes
a14d555c87 Remove trailing whitespace. 1995-05-30 06:41:30 +00:00
joerg
99ee13afa5 Make the syntax checks for the format string more strict. The string
"%8*s" is no longer considered to be a valid format description.

This closes PR bin/386.
1995-05-07 07:00:18 +00:00
rgrimes
f9ab90d9d6 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00