Bruce Momjian
f99a569a2e
pgindent run for 8.2.
2006-10-04 00:30:14 +00:00
Tom Lane
1daac8e165
Document return-value conventions used by this implementation, per
...
suggestion from Bruce.
2005-12-05 21:57:00 +00:00
Tom Lane
3311c7669a
Fix a rather sizable number of problems in our homegrown snprintf, such as
...
incorrect implementation of argument reordering, arbitrary limit of output
size for sprintf and fprintf, willingness to access more bytes than "%.Ns"
specification allows, wrong formatting of LONGLONG_MIN, various field-padding
bugs and omissions. I believe it now accurately implements a subset of
the Single Unix Spec requirements (remaining unimplemented features are
documented, too). Bruce Momjian and Tom Lane.
2005-12-05 02:39:38 +00:00
Bruce Momjian
1dc3498251
Standard pgindent run for 8.1.
2005-10-15 02:49:52 +00:00
Tom Lane
06e1d62689
Fix a whole bunch of #includes that were either wrong or redundant.
...
The first rule of portability for us is 'thou shalt have no other gods
before c.h', and a whole lot of these files were either not including
c.h at all, or including random system headers beforehand, either of
which sins can mess up largefile support nicely. Once you have
included c.h, there is no need to re-include what it includes, either.
2005-07-28 04:03:14 +00:00
Tom Lane
b79a718fac
Must count '*' characters as potential arguments.
2005-04-14 20:53:09 +00:00
Bruce Momjian
683f60da3d
Add mention of why malloc() has to be used in snprintf.c.
2005-03-20 13:54:53 +00:00
Bruce Momjian
8c72526fe9
Department of second thoughts. Remove FRONTEND from snprintf.c because
...
snprintf is called before the memory system is started. We have to just
malloc/free. There are no elogs in the code so we should be fine.
2005-03-20 03:53:39 +00:00
Bruce Momjian
7111a14fba
Factor duplicate snprintf code into functions.
2005-03-17 03:18:14 +00:00
Bruce Momjian
712f053587
Add sprintf support, that were were missing.
...
Add support for snprintf '+', 'h', and %* length settings.
2005-03-16 21:27:23 +00:00
Bruce Momjian
ca66797308
pgindent snprintf.c for consistency.
2005-03-16 15:12:18 +00:00
Bruce Momjian
2306f63dea
Fix snprintf for %*$.
2005-03-16 15:11:43 +00:00
Bruce Momjian
888271ed15
Fix snprintf to handle %$ properly by storing and reordering the
...
arguments.
Nicolai Tufar
2005-03-16 06:00:58 +00:00
Bruce Momjian
c82f76e1ac
Fix snprintf() to properly handle precision specification for %f.
2005-03-12 04:00:56 +00:00
Bruce Momjian
caad817d1c
Add fprintf() custom version to libpgport.
...
Document use of macros for pg_printf functions.
Bump major versions of all interfaces to handle movement of get_progname
from libpq to libpgport in 8.0, and probably other libpgport changes in 8.1.
2005-03-11 19:13:43 +00:00
Bruce Momjian
3bc6bdf322
Define snprintf() to call pg_snprintf() so our own snprintf-like
...
implementation doesn't export out via libpq and get used by a user
application.
2005-03-11 17:20:35 +00:00
Bruce Momjian
5592a6cf46
Move snprintf int64 compatibility letters into a NOT_USED block.
2005-03-02 23:56:53 +00:00
Bruce Momjian
f8aca046bb
Fix for %I64d snprintf.
2005-03-02 15:32:39 +00:00
Bruce Momjian
022ece2cf1
snprintf() %I64d code fix.
2005-03-02 15:07:09 +00:00
Bruce Momjian
bb7a3a740c
Use our own snprintf() only if NLS is enabled, and support %qd and %I64d.
2005-03-02 14:48:22 +00:00
Bruce Momjian
70d4a9343f
Prevent large allocation in snprintf to hold positional parameters.
...
Allocated size based on format string.
2005-03-02 05:22:22 +00:00
Bruce Momjian
47ea7148e3
Fix snprintf on Win32:
...
* If vsnprintf() is not before snprintf() in this file, snprintf()
* will call the system vsnprintf() on MinGW.
2005-03-02 03:21:52 +00:00
Bruce Momjian
9989e90490
Make port snprintf.c finally thread-safe.
2005-03-02 00:02:13 +00:00
Bruce Momjian
03b8efa540
Make snprintf() use already-defined int64/uint64 typedefs rather than
...
defining its own.
2005-03-01 05:47:28 +00:00
Bruce Momjian
295dd338c3
And while we are on it, I would like to submit minor
...
changes to make snprintf() vsnprintf() and printf()
functions in src/port/snprintf.c thread-safe.
Nicolai Tufar
2005-03-01 00:38:11 +00:00
Bruce Momjian
949ab3c9b3
snprintf.c has no sys/ioctl.h. Trivial patch below:
...
Magnus Hagander
2005-02-28 14:16:16 +00:00
Bruce Momjian
e3ebe2521e
Add semicolon so snprintf.c goto has a statement to attach to:
...
nochar:
/* nothing */
; /* semicolon required because a goto has to be attached to a statement */
2005-02-22 04:57:24 +00:00
Bruce Momjian
b4feafb6ff
Add support to port/snprintf.c for position parameter specification:
...
+ # Determine if printf supports %1$ argument selection, e.g. %5$ selects
+ # the fifth argument after the printf print string.
+ # This is not in the C99 standard, but in the Single Unix Specification (SUS).
+ # It is used in our langauge translation strings.
Nicolai Tufar with configure changes by Bruce.
2005-02-22 03:56:22 +00:00
Bruce Momjian
b6b71b85bc
Pgindent run for 8.0.
2004-08-29 05:07:03 +00:00
Bruce Momjian
49c534fccb
Throw compile error if our non-thread-safe snprintf is used.
2004-01-08 17:15:54 +00:00
PostgreSQL Daemon
55b113257c
make sure the $Id tags are converted to $PostgreSQL as well ...
2003-11-29 22:41:33 +00:00
Bruce Momjian
404e9a12a5
Move libc replacement files from src/backend/port to src/port.
2002-07-18 04:13:59 +00:00