Imported Upstream version 0.18.3.2
[platform/upstream/gettext.git] / gettext-runtime / libasprintf / ChangeLog
1 2013-06-10  Daiki Ueno  <ueno@gnu.org>
2
3         * Makefile.am: Use $(MKDIR_P) instead of $(mkdir_p).
4         Suggested by Stefano Lattarini in
5         <https://lists.gnu.org/archive/html/bug-gettext/2013-04/msg00044.html>.
6
7 2013-03-07  Miguel Angel Arruga Vivas  <rosen644835@gmail.com>  (tiny change)
8
9         Fix '__attribute__' definition.
10         Reported at <https://savannah.gnu.org/bugs/?35313>
11         * autosprintf.in.h (_AUTOSPRINTF_ATTRIBUTE_FORMAT): New macro
12         instead of redefine __attribute__.
13
14 2013-03-04  Miguel Angel Arruga Vivas  <rosen644835@gmail.com>  (tiny change)
15
16         Add 'autosprintf::operator='. Needed because destructor
17         is not trivial.
18         Reported at <https://savannah.gnu.org/bugs/?33102>
19         * autosprintf.in.h (autosprintf::operator=): New function.
20         Thanks to Daiki Ueno for pointing a better copy-and-swap
21         idiom use.
22         * autosprintf.cc (autosprintf::operator=): Likewise.
23
24 2013-01-17  Daiki Ueno  <ueno@gnu.org>
25
26         Fix link errors related to C99-style extern inline.
27         Reported by Sam Thursfield <sam.thursfield@codethink.co.uk>.
28         * Makefile.am (libasprintf_la_SOURCES): Add xsize.h and xsize.c.
29         (lib_asprintf_EXTRASOURCES): Remove xsize.h.
30         * xsize.h: Remove, replacing with the one from gnulib when
31         bootstrapping.
32
33 2012-12-25  Daiki Ueno  <ueno@gnu.org>
34
35         * gettext-0.18.2 released.
36
37 2012-12-17  Daiki Ueno  <ueno@unixuser.org>
38
39         * configure.ac: Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER.
40         Suggested by Stefano Lattarini <stefano.lattarini@gmail.com>.
41
42 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
43
44         * vasnprintf.c (MAX_ROOM_NEEDED): Now static, not static
45         inline.
46
47 2012-06-22  Bruno Haible  <bruno@clisp.org>
48
49         * vasnprintf.c: Write "Mac OS X" instead of "MacOS X".
50
51 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
52
53         maint: replace FSF snail-mail addresses with URLs
54         * vasnprintf.c, xsize.h:
55         Replace FSF snail mail addresses with URLs, as per GNU coding
56         standards.  See glibc bug
57         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
58
59 2012-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60
61         * vasnprintf.c: Spelling fixes.
62
63 2012-01-26  Bruno Haible  <bruno@clisp.org>
64
65         Modernize quoting.
66         * autosprintf.in.h: Quote 'like this', not `like this', as per the
67         recent change to the GNU coding standards.
68         * vasnprintf.h: Likewise.
69         * vasprintf.h: Likewise.
70         * INSTALL: Process through sed -e "s/\`\([^']*\)'/‘\1’/g"
71
72 2012-01-04  Bruno Haible  <bruno@clisp.org>
73
74         Talk about "native Windows API", not "Win32".
75         * vasnprintf.c: Update comments to mention native Windows.
76
77 2011-10-15  Bruno Haible  <bruno@clisp.org>
78
79         vasnprintf: Optimize bit search operation.
80         * vasnprintf.c (divide): Use optimizations from gnulib's
81         integer_length.c.
82
83 2011-10-15  Bruno Haible  <bruno@clisp.org>
84
85         vasnprintf: Fix comments.
86         * vasnprintf.c (decode_long_double, decode_double): Fix comments.
87
88 2011-06-06  Bruno Haible  <bruno@clisp.org>
89
90         Ensure mbstate_t gets defined in libasprintf.
91         * configure.ac: Invoke AC_TYPE_MBSTATE_T. Needed on HP-UX 11.31.
92
93 2011-06-04  Bruno Haible  <bruno@clisp.org>
94
95         Ensure intmax_t gets defined in libasprintf.
96         * configure.ac: Invoke gl_AC_TYPE_INTMAX_T instead of gt_TYPE_INTMAX_T.
97
98 2011-06-03  Bruno Haible  <bruno@clisp.org>
99
100         * Makefile.am (lib_asprintf_EXTRASOURCES): Add verify.h.
101
102 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
103
104         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
105         * vasnprintf.c: Include "verify.h".
106         (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify): Remove, replacing
107         with a verify call.
108
109 2011-06-03  Bruno Haible  <bruno@clisp.org>
110
111         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
112         * COPYING.LIB: Replace with text of LGPL 2.1.
113         * *.h, *.c, *.cc, Makefile.am: Update copyright header.
114
115 2011-02-23  Bruno Haible  <bruno@clisp.org>
116
117         Fix misindentation of preprocessor directives.
118         * vasnprintf.c (decode_long_double): Reindent preprocessor directives.
119
120 2011-02-04  Bruno Haible  <bruno@clisp.org>
121
122         vasnprintf: Reduce use of malloc for small format strings.
123         * printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
124         (arguments): Add room for the first 7 arguments.
125         * printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
126         (char_directives, u8_directives, u16_directives, u32_directives): Add
127         room for the first 7 directives.
128         * printf-parse.c: Include <string.h>.
129         (PRINTF_PARSE): Change memory handling code so that it uses the first
130         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
131         * vasnprintf.c (VASNPRINTF): Update memory handling code.
132         Reported by Pádraig Brady <P@draigbrady.com>.
133
134 2010-11-20  Bruno Haible  <bruno@clisp.org>
135
136         Ensure that <features.h> is included before __GLIBC__ is tested.
137         * printf-parse.h: Include <features.h>.
138         * configure.ac: Test for <features.h>.
139         Reported by Mike Frysinger <vapier@gentoo.org>.
140
141 2010-11-20  Bruno Haible  <bruno@clisp.org>
142
143         Port to uClibc.
144         * printf-parse.h (FLAG_LOCALIZED): Treat uClibc like a non-glibc platform.
145         * printf-parse.c (PRINTF_PARSE): Likewise.
146         * vasnprintf.c (decimal_point_char): Treat uClibc like glibc.
147         (VASNPRINTF): Treat uClibc like a non-glibc platform.
148         Reported by Mike Frysinger <vapier@gentoo.org>.
149
150 2010-11-20  Bruno Haible  <bruno@clisp.org>
151
152         Fix a comment.
153         * vasnprintf.c (VASNPRINTF): Fix comment.
154
155 2010-11-07  Bruno Haible  <bruno@clisp.org>
156
157         vasnprintf: Support I flag on glibc systems.
158         * printf-parse.h (FLAG_LOCALIZED): New macro.
159         * printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
160         * vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
161         snprintf function.
162
163 2010-11-07  Bruno Haible  <bruno@clisp.org>
164
165         Rename autosprintf.h.in to autosprintf.in.h.
166         * autosprintf.in.h: New file, renamed from autosprintf.h.in.
167         * Makefile.am (autosprintf.h, EXTRA_DIST): Update.
168
169 2010-10-14  Bruno Haible  <bruno@clisp.org>
170
171         vasnprintf: Don't set errno to 0.
172         * vasnprintf.c (VASNPRINTF): Save and restore errno around the block
173         that sets it to 0.
174         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
175
176 2010-06-04  Bruno Haible  <bruno@clisp.org>
177
178         * gettext-0.18.1 released.
179
180 2010-05-09  Bruno Haible  <bruno@clisp.org>
181
182         * gettext-0.18 released.
183
184 2010-05-09  Bruno Haible  <bruno@clisp.org>
185
186         vasnprintf: Fix syntax errors in libintl build on mingw.
187         * vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
188         pad_ourselves and prec_ourselves after use.
189
190 2010-04-24  Bruno Haible  <bruno@clisp.org>
191
192         vasnprintf: Correct errno value in case of out-of-memory.
193         * vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF or
194         sprintf. Use the errno value from SNPRINTF or sprintf.
195         Reported by Ian Beckwith <ianb@erislabs.net>.
196
197 2010-04-10  Bruno Haible  <bruno@clisp.org>
198
199         vasnprintf: Correct handling of unconvertible wide string arguments.
200         * vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
201         VASNPRINTF.
202         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
203         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
204         smaller than the expected maximum need for the directive. Set errno to
205         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
206         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
207         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
208
209 2010-04-10  Bruno Haible  <bruno@clisp.org>
210
211         vasnprintf: Fix crash in %ls directive.
212         * vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
213         string is passed as argument to %ls, with no precision and no width.
214         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
215
216 2010-04-10  Bruno Haible  <bruno@clisp.org>
217
218         vasnprintf: Fix multiple test failures on mingw.
219         * vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not _snprintf,
220         or snwprintf, not _snwprintf.
221
222 2010-01-01  Bruno Haible  <bruno@clisp.org>
223
224         * vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is defined,
225         use wctomb instead of wcrtomb.
226
227 2009-12-12  Bruno Haible  <bruno@clisp.org>
228
229         * *.h, *.c: Untabify.
230
231 2009-11-22  Bruno Haible  <bruno@clisp.org>
232
233         * vasnprintf.c (decimal_point_char): Choose the fast path also on
234         MacOS X.
235
236 2009-11-17  Eric Blake  <ebb9@byu.net>
237
238         * vasnprintf.c (VASNPRINTF): Avoid shadowing our own local variables.
239
240 2009-08-20  Eric Blake  <ebb9@byu.net>
241
242         * vasnprintf.c (decimal_point_char): Avoid warning on old-style
243         declaration.
244
245 2009-08-14  Bruno Haible  <bruno@clisp.org>
246
247         Use the gnulib module 'errno'.
248         * Makefile.am: Include Makefile.gnulib.
249         (ACLOCAL_AMFLAGS): Add -I gnulib-m4.
250         (EXTRA_DIST): Add gnulib-m4/gnulib-cache.m4.
251         (BUILT_SOURCES, noinst_LTLIBRARIES): New variables.
252         * configure.ac (AC_PREREQ): Require autoconf 2.59 or newer.
253         Invoke gl_EARLY, gl_INIT. Don't invoke gl_EOVERFLOW. Remove the alloca
254         tests.
255
256 2009-08-10  Bruno Haible  <bruno@clisp.org>
257
258         * vasnprintf.c (DCHAR_SET): Undefine at the end.
259
260 2009-06-06  Bruno Haible  <bruno@clisp.org>
261
262         * configure.ac (AM_INIT_AUTOMAKE): Add 'silent-rules' option.
263         * Makefile.am (libasprintf.la): Silence 'make' output if silent-rules.
264
265 2009-06-06  Bruno Haible  <bruno@clisp.org>
266
267         * configure.ac: Pass package and version to AC_INIT instead of
268         AM_INIT_AUTOMAKE.
269
270 2009-05-21  Bruno Haible  <bruno@clisp.org>
271
272         Assume automake >= 1.10.2.
273         * configure.ac (AC_CONFIG_FILES): Remove FIX_MAKEFILE_COMPILE,
274         FIX_MAKEFILE_INFO invocations.
275
276 2009-04-26  Bruno Haible  <bruno@clisp.org>
277
278         * vasnprintf.c (VASNPRINTF): Update after the calling convention of
279         u*_conv_from_encoding and u*_conv_to_encoding changed.
280
281 2009-04-08  Bruno Haible  <bruno@clisp.org>
282
283         * Makefile.am (SUFFIXES, CLEANFILES): Remove variables. Not needed any
284         more.
285
286 2009-03-23  Jim Meyering  <meyering@redhat.com>
287
288         * vasnprintf.c (divide): Fix typo in comment.
289
290 2009-02-26  Bruno Haible  <bruno@clisp.org>
291
292         Fix *printf behaviour regarding the %ls directive.
293         * vasnprintf.c (local_wcslen, VASNPRINTF): Handle
294         NEED_PRINTF_DIRECTIVE_LS.
295
296 2009-02-23  Bruno Haible  <bruno@clisp.org>
297
298         Fix invalid read past end of memory block.
299         * vasnprintf.c (DCHAR_SET): Define.
300         (local_wcslen): Define only when needed.
301         (local_strnlen, local_wcsnlen): New functions.
302         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
303         directives that involve a conversion ourselves.
304         * configure.ac: Also check for strnlen, wcsnlen, mbrtowc, wcrtomb.
305
306 2009-01-14  Bruno Haible  <bruno@clisp.org>
307
308         * configure.ac: More consistent m4 quoting.
309
310 2008-09-22  Eric Blake  <ebb9@byu.net>
311             Bruno Haible  <bruno@clisp.org>
312
313         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
314         * vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that supply %A
315         but mishandle pseudo-NaN.
316         Reported by Simon Josefsson.
317
318 2008-09-18  Bruno Haible  <bruno@clisp.org>
319
320         * vasnprintf.c (VASNPRINTF): When printing ±0.0L in
321         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
322         digits for the exponent.
323
324 2008-09-18  Jim Meyering  <meyering@redhat.com>
325             Bruno Haible  <bruno@clisp.org>
326
327         * vasnprintf.c (decimal_point_char): Define also if
328         NEED_PRINTF_INFINITE_LONG_DOUBLE.
329
330 2008-09-16  Bruno Haible  <bruno@clisp.org>
331         and Eric Blake  <ebb9@byu.net>
332
333         vasnprintf: support Irix 5.3
334         * vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms that
335         mishandle long double infinity.
336         Reported by Tom G. Christensen.
337
338 2008-09-02  Eric Blake  <ebb9@byu.net>
339
340         vasnprintf-posix: handle large precision via %.*d
341         * vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
342         when handling it ourselves.
343         Reported by Alain Guibert.
344
345 2008-07-10  Ben Pfaff  <blp@gnu.org>
346
347         * vasnprintf.c: Update references to renamed include files.
348
349 2008-05-21  Bruno Haible  <bruno@clisp.org>
350
351         Avoid one more warning from gcc.
352         * vasnprintf.c (IF_LINT): Update comments.
353         (VASNPRINTF): Use it also for the 'prefix' array initializer.
354
355 2008-05-21  Jim Meyering  <meyering@redhat.com>
356
357         avoid a warning from gcc
358         * vasnprintf.c (IF_LINT): Define.
359         (scale10_round_decimal_long_double):
360         Use it to avoid a "may be used uninitialized" warning.
361         (scale10_round_decimal_double): Likewise.
362
363 2008-05-16  Jim Meyering  <meyering@redhat.com>
364             Bruno Haible  <bruno@clisp.org>
365
366         Avoid some warnings from "gcc -Wshadow".
367         * vasnprintf.c (exp, remainder): Define to different identifiers.
368
369 2008-04-19  Bruno Haible  <bruno@clisp.org>
370
371         Work around snprintf bug on Linux libc5.
372         * vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
373
374 2008-04-19  Bruno Haible  <bruno@clisp.org>
375
376         * vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error from
377         0.0058 to less than 10^-7.
378
379 2008-04-19  Bruno Haible  <bruno@clisp.org>
380
381         Fix rounding when a precision is given.
382         * vasnprintf.c (is_borderline): New function.
383         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
384         9...9x.
385         Reported by John Darrington <john@darrington.wattle.id.au> via
386         Ben Pfaff <blp@cs.stanford.edu>.
387
388 2008-03-30  Bruno Haible  <bruno@clisp.org>
389
390         Fix buffer overrun.
391         * vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
392         Don't consider the width for tmp_length. Check count against tmp_length
393         before doing the padding. Ensure enough allocation during padding.
394
395 2008-03-30  Bruno Haible  <bruno@clisp.org>
396
397         * vasnprintf.c (EOVERFLOW): Remove fallback.
398
399 2008-03-30  Bruno Haible  <bruno@clisp.org>
400
401         Fix bug introduced on 2007-06-10.
402         * vasnprintf.c (VASNPRINTF): When performing zero-padding, use
403         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
404
405 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
406
407         * xsize.h: Fix typo in comment: s/tupe/type/.
408
409 2008-02-07  Bruno Haible  <bruno@clisp.org>
410
411         * vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
412         Avoids a crash on Windows Vista.
413         Reported by Adam Strzelecki <ono@java.pl> via
414         Simon Josefsson <simon@josefsson.org>.
415
416 2008-02-06  Bruno Haible  <bruno@clisp.org>
417
418         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
419         * vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
420         Reported by Peter Fales <psfales@alcatel-lucent.com>.
421
422 2008-02-06  Bruno Haible  <bruno@clisp.org>
423
424         Fix bug introduced on 2007-06-10.
425         * vasnprintf.c (VASNPRINTF): Perform zero-padding also if
426         !NEED_PRINTF_FLAG_ZERO.
427
428 2008-01-29  Jim Meyering  <meyering@redhat.com>
429
430         vasnprintf.c: Avoid warning about unused label
431         * vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
432         "overflow" label definition and associated code with the
433         same cpp condition that guards the sole use of that label.
434
435 2008-01-26  Bruno Haible  <bruno@clisp.org>
436
437         Rename isnan, applicable to 'double' only, to isnand.
438         * vasnprintf.c: Include isnand.h instead of isnan.h.
439         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
440
441 2008-01-08  Jim Meyering  <meyering@redhat.com>
442             Bruno Haible  <bruno@clisp.org>
443
444         * printf-parse.c (PRINTF_PARSE): Handle a size specifier "q" on MacOS X
445         and a size specifier "I64" on mingw. Needed for PRIdMAX.
446         Reported by Peter Fales in
447         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
448
449 2008-04-20  Bruno Haible  <bruno@clisp.org>
450
451         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
452
453 2007-11-26  Bruno Haible  <bruno@clisp.org>
454
455         * vasnprintf.c (decode_long_double): Don't abort if the 'long double'
456         type has excess precision.
457         Reported by Jim Meyering in
458         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
459
460 2007-11-10  Bruno Haible  <bruno@clisp.org>
461
462         * configure.ac: Do _snprintf check like gnulib's vasnprintf.m4 does.
463
464 2007-11-10  Bruno Haible  <bruno@clisp.org>
465
466         * configure.ac: Invoke AC_TYPE_LONG_LONG_INT instead of
467         gl_AC_TYPE_LONG_LONG. Don't invoke gt_TYPE_LONGDOUBLE.
468         Report and patch by Kacper.
469
470 2007-11-10  Bruno Haible  <bruno@clisp.org>
471
472         * configure.ac: Invoke gl_EOVERFLOW.
473
474 2007-11-09  Bruno Haible  <bruno@clisp.org>
475
476         * vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf with a
477         size argument < 2.
478
479 2007-11-09  Bruno Haible  <bruno@clisp.org>
480
481         * vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf buffer.
482         Fixes an inefficiency introduced on 2007-11-03.
483
484 2007-11-07  Bruno Haible  <bruno@clisp.org>
485
486         * gettext-0.17 released.
487
488 2007-11-05  Bruno Haible  <bruno@clisp.org>
489
490         * vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
491         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
492         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
493         Reported by Eric Blake.
494
495 2007-11-04  Bruno Haible  <bruno@clisp.org>
496
497         * vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
498
499 2007-06-11  Bruno Haible  <bruno@clisp.org>
500
501         * printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
502         replacement string.
503         Reported by Eric Blake.
504
505 2007-06-10  Bruno Haible  <bruno@clisp.org>
506
507         * printf-args.h (PRINTF_FETCHARGS): New macro.
508         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
509         TYPE_U32_STRING.
510         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
511         a_u32_string variants.
512         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
513         * printf-args.c: Don't include config.h and the specification header
514         if PRINTF_FETCHARGS is already defined.
515         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
516         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
517         TYPE_U16_STRING, TYPE_U32_STRING.
518
519 2007-11-04  Bruno Haible  <bruno@clisp.org>
520
521         * vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
522
523 2007-11-04  Bruno Haible  <bruno@clisp.org>
524
525         * vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
526
527 2007-11-03  Bruno Haible  <bruno@clisp.org>
528
529         * vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
530         (decode_double): New function, copied from decode_long_double.
531         (scale10_round_decimal_decoded): New function, extracted from
532         scale10_round_decimal_long_double.
533         (scale10_round_decimal_long_double): Use it.
534         (scale10_round_decimal_double): New function.
535         (floorlog10): New function.
536         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
537
538 2007-11-03  Bruno Haible  <bruno@clisp.org>
539
540         * vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return value
541         is C99 compliant.
542         Needed for OSF/1 5.1.
543
544 2007-11-03  Bruno Haible  <bruno@clisp.org>
545
546         Fix out-of-memory handling of vasnprintf.
547         * printf-parse.c: Include <errno.h>.
548         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
549         * vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno is
550         already set.
551
552 2007-10-20  Bruno Haible  <bruno@clisp.org>
553
554         * vasnprintf.c (VASNPRINTF): Don't report overflow if the available
555         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
556         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
557
558 2007-10-18  Bruno Haible  <bruno@clisp.org>
559
560         * vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
561         Reported by Jim Meyering.
562
563 2007-07-13  Bruno Haible  <bruno@clisp.org>
564
565         * vasnprintf.c (decimal_point_char): Define also if
566         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
567         && !NEED_PRINTF_DIRECTIVE_A.
568         Reported by Clemens Koller <clemens.koller@anagramm.de> via
569         Gary V. Vaughan <gary@gnu.org>.
570
571 2007-06-10  Bruno Haible  <bruno@clisp.org>
572
573         * vasnprintf.c: Don't include config.h and the specification header if
574         VASNPRINTF is already defined.
575         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
576         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
577         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
578         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
579         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
580         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
581         code accordingly.
582         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
583         pad_ourselves also in this case, with the 'c' and 's' directives, and
584         with a different notion of "width".
585
586 2007-06-10  Bruno Haible  <bruno@clisp.org>
587
588         * vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
589         'maxlen'. Ensure only length + width bytes are allocated, not
590         length + 1 + width.
591
592 2007-06-09  Bruno Haible  <bruno@clisp.org>
593
594         * vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
595         (CHAR_T): Remove macro.
596         (VASNPRINTF): Update.
597
598 2007-06-05  Bruno Haible  <bruno@clisp.org>
599
600         * vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
601         also the %a / %A. Handle the %a / %A code before this extra handling.
602
603 2007-06-05  Bruno Haible  <bruno@clisp.org>
604
605         * vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
606         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
607
608 2007-10-21  Bruno Haible  <bruno@clisp.org>
609
610         * printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
611         context.
612
613 2007-06-10  Bruno Haible  <bruno@clisp.org>
614
615         * printf-parse.c: Don't include config.h and the specification
616         header if PRINTF_PARSE is already defined. Eliminate the set of
617         parameters for WIDE_CHAR_VERSION; the user of this file must provide
618         them now. Include c-ctype.h.
619         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
620         directive and CHAR_T_ONLY_ASCII.
621
622 2007-09-04  Bruno Haible  <bruno@clisp.org>
623
624         * alloca.in.h: Renamed from alloca_.h.
625         * Makefile.am (EXTRA_DIST, alloca.h): Update.
626
627 2007-09-01  Bruno Haible  <bruno@clisp.org>
628
629         * autosprintf.texi (Class autosprintf): Explain memory mangement
630         details.
631         Reported at <https://savannah.gnu.org/bugs/?17659>.
632
633 2007-05-05  Bruno Haible  <bruno@clisp.org>
634
635         * autosprintf.texi (ifmakeinfo): Remove alias.
636         (makeinfo): New variable.
637         * Makefile.am (autosprintf_all.html): Don't pass option -expandinfo
638         to texi2html.
639
640 2007-05-21  Bruno Haible  <bruno@clisp.org>
641
642         * vasnprintf.c: Update comments.
643
644 2007-05-20  Bruno Haible  <bruno@clisp.org>
645
646         * vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
647         NEED_PRINTF_INFINITE.
648         (is_infinitel): New function.
649         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
650
651 2007-05-19  Bruno Haible  <bruno@clisp.org>
652
653         * vasnprintf.c: Include math.h and isnan.h.
654         (is_infinite_or_zero): New function.
655         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
656         values in the %f, %F, %e, %E, %g, %G directives.
657
658 2007-05-19  Bruno Haible  <bruno@clisp.org>
659
660         * vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
661         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
662         Instead of multiplying with 10^k, set extra_zeroes to k.
663         (scale10_round_long_double): Remove function.
664
665 2007-05-18  Bruno Haible  <bruno@clisp.org>
666
667         * vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
668         introduced on 2007-05-06.
669
670 2007-05-18  Bruno Haible  <bruno@clisp.org>
671
672         * vasnprintf.c: Include math.h and float+.h.
673         (mp_limb_t): New type.
674         (GMP_LIMB_BITS): New macro.
675         (mp_twolimb_t): New type.
676         (GMP_TWOLIMB_BITS): New macro.
677         (mpn_t): New type.
678         (multiply, divide, convert_to_decimal, decode_long_double,
679         scale10_round_long_double, scale10_round_decimal_long_double,
680         floorlog10l): New functions.
681         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
682         for the %f, %F, %e, %E, %g, %G directives.
683
684 2007-05-18  Bruno Haible  <bruno@clisp.org>
685
686         * vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
687
688 2007-05-18  Bruno Haible  <bruno@clisp.org>
689
690         * vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld for
691         printing 64-bit integers. Needed for mingw.
692
693 2007-05-06  Bruno Haible  <bruno@clisp.org>
694
695         * vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
696         padding ourselves for the floating-point directives.
697
698 2007-05-06  Bruno Haible  <bruno@clisp.org>
699
700         * vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't pass
701         the ' flag character to sprintf or snprintf.
702
703 2007-04-11  Bruno Haible  <bruno@clisp.org>
704
705         * vasnprintf.c (VASNPRINTF): Implement the %F directive using the %f
706         directive, if NEED_PRINTF_DIRECTIVE_F is defined.
707
708 2007-04-06  Bruno Haible  <bruno@clisp.org>
709
710         * vasnprintf.c: Include <math.h>. Don't include float+.h.
711         (VASNPRINTF): Use signbit for faster determination whether to print a
712         minus sign.
713
714 2007-03-27  Bruno Haible  <bruno@clisp.org>
715
716         * vasnprintf.c (decimal_point_char): New function.
717         (VASNPRINTF): Use it.
718
719 2007-03-25  Bruno Haible  <bruno@clisp.org>
720
721         * vasnprintf.c: Include langinfo.h.
722         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
723         multithread-safe.
724
725 2007-03-24  Bruno Haible  <bruno@clisp.org>
726
727         * vasnprintf.c: Include fpucw.h.
728         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
729         'long double' calculations.
730
731 2007-03-24  Bruno Haible  <bruno@clisp.org>
732
733         * vasnprintf.c: Include float+.h.
734         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
735         SIZEOF_LDBL or SIZEOF_DBL bytes.
736
737 2007-03-24  Bruno Haible  <bruno@clisp.org>
738
739         * vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
740         include isnanl-nolibm.h.
741
742 2007-03-21  Bruno Haible  <bruno@clisp.org>
743
744         * vasnprintf.c: Update after isnanl.h was renamed to isnanl-nolibm.h.
745
746 2007-03-18  Bruno Haible  <bruno@clisp.org>
747
748         * vasnprintf.c (VASNPRINTF): Undo first part of last patch.
749
750 2007-03-17  Bruno Haible  <bruno@clisp.org>
751
752         * vasnprintf.c (EOVERFLOW): New fallback definition.
753         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
754         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
755
756 2007-03-17  Bruno Haible  <bruno@clisp.org>
757
758         * vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
759         before comparing it. Needed because on some platforms (e.g. x86) a
760         'long double' occupies less bytes than sizeof (long double).
761
762 2007-03-11  Bruno Haible  <bruno@clisp.org>
763
764         * vasnprintf.c (sprintf): Undefine.
765
766 2007-03-11  Bruno Haible  <bruno@clisp.org>
767
768         * vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
769
770 2007-03-09  Bruno Haible  <bruno@clisp.org>
771
772         * vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use a
773         locale dependent decimal point, rather than always '.'.
774
775 2007-03-04  Bruno Haible  <bruno@clisp.org>
776
777         * vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
778         printf-frexpl.h.
779         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
780
781 2007-03-30  Bruno Haible  <bruno@clisp.org>
782
783         * alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
784
785 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
786
787         * alloca_.h (alloca) [defined alloca]: Don't define or declare.
788
789 2007-03-08  Bruno Haible  <bruno@clisp.org>
790
791         * vasnprintf.h: Convert tabs in the middle of lines to spaces.
792
793 2007-05-03  Bruno Haible  <bruno@clisp.org>
794
795         Add support for both "makeinfo --html" and texi2html.
796         * autosprintf.texi (ifmakeinfo): New alias.
797         (Top): Use it instead of @ifinfo.
798
799 2007-04-06  Bruno Haible  <bruno@clisp.org>
800
801         * printf-args.h: Assume HAVE_LONG_DOUBLE to be true.
802         * printf-args.c: Likewise.
803         * printf-parse.c: Likewise.
804         * vasnprintf.c: Likewise.
805
806 2007-03-29  Bruno Haible  <bruno@clisp.org>
807
808         * Makefile.am (DEFS): New variable.
809         * vasprintf.c: Sync with gnulib.
810         * asprintf.c: Likewise.
811
812 2007-03-25  Bruno Haible  <bruno@clisp.org>
813
814         * printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
815         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
816
817 2007-02-25  Bruno Haible  <bruno@clisp.org>
818
819         * vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a 'a' or
820         'A' conversion.
821
822 2007-01-29  Bruno Haible  <bruno@clisp.org>
823
824         * printf-args.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
825         * printf-args.c: Likewise.
826         * printf-parse.c: Likewise.
827         * vasnprintf.c: Likewise.
828
829 2006-11-01  Bruno Haible  <bruno@clisp.org>
830
831         * printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
832
833 2006-10-27  Bruno Haible  <bruno@clisp.org>
834
835         Work around automake-1.10 annoyance.
836         * Makefile.am (ACLOCAL): New macro.
837
838 2006-11-27  Bruno Haible  <bruno@clisp.org>
839
840         * gettext-0.16.1 released.
841
842 2006-10-26  Bruno Haible  <bruno@clisp.org>
843
844         * gettext-0.16 released.
845
846 2006-10-16  Bruno Haible  <bruno@clisp.org>
847
848         Switch to automake-1.10.
849         * Makefile.am (install-dvi, install-ps, install-pdf): Remove rules.
850         (HTMLS): New variable.
851         (html-local): Use it.
852         (install-html): Remove rule.
853
854 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
855             Bruno Haible  <bruno@clisp.org>
856
857         * printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
858         instead of HAVE_LONG_LONG.
859         * printf-args.c (printf_fetchargs): Likewise.
860         * printf-parse.c (PRINTF_PARSE): Likewise.
861         * vasnprintf.c (VASNPRINTF): Likewise.
862
863 2006-09-14  Bruno Haible  <bruno@clisp.org>
864
865         * lib-asprintf.c: Include <config.h> unconditionally.
866         * asnprintf.c: Likewise.
867         * asprintf.c: Likewise.
868         * printf-args.c: Likewise.
869         * printf-parse.c: Likewise.
870         * vasnprintf.c: Likewise.
871         * vasprintf.c: Likewise.
872
873 2006-08-26  Bruno Haible  <bruno@clisp.org>
874
875         * vasnprintf.c (EOVERFLOW): Remove definition.
876         (VASNPRINTF): Return a string of length > INT_MAX without failing.
877         * vasprintf.c: Include errno.h, limits.h.
878         (EOVERFLOW): New fallback definition.
879         (vasprintf): Test here whether the string length is > INT_MAX.
880
881 2006-08-28  Bruno Haible  <bruno@clisp.org>
882
883         * configure.ac: Remove bh_C_SIGNED invocation.
884
885 2006-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
886
887         * autosprintf.texi: Reduce spacing after "i.e." and "e.g.".
888
889 2006-07-25  Bruno Haible  <bruno@clisp.org>
890
891         * windows: Remove directory.
892         * Makefile.msvc: Remove file.
893         * Makefile.am (config.h.msvc, autosprintf.h.msvc-shared): Remove rules.
894         (EXTRA_DIST): Remove Makefile.msvc, config.h.msvc,
895         autosprintf.h.msvc-shared, windows/*.
896
897 2006-07-25  Bruno Haible  <bruno@clisp.org>
898
899         * Makefile.vms: Remove file.
900         * Makefile.am (config.h_vms): Remove rule.
901         (EXTRA_DIST): Remove Makefile.vms, config.h_vms.
902
903 2006-07-21  Bruno Haible  <bruno@clisp.org>
904
905         * gettext-0.15 released.
906
907 2006-06-27  Bruno Haible  <bruno@clisp.org>
908
909         Assume working 'const'.
910         * configure.ac: Remove AC_C_CONST invocation.
911
912 2006-04-14  Bruno Haible  <bruno@clisp.org>
913
914         Assume autoconf >= 2.60.
915         * Makefile.am (docdir, dvidir, psdir, pdfdir, htmldir): Remove
916         variables.
917
918 2006-05-24  Bruno Haible  <bruno@clisp.org>
919
920         * printf-args.c (printf_fetchargs): Turn NULL pointers for
921         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
922         Reported by Thorsten Maerz <torte@netztorte.de> via
923         Aaron Stone <aaron@serendipity.cx>.
924
925 2006-05-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
926
927         * configure.ac (LTNOUNDEF): Set to -no-undefined also on mingw and
928         Cygwin.
929
930 2006-04-17  Bruno Haible  <bruno@clisp.org>
931
932         * Makefile.am: Use $(mkdir_p) instead of $(mkinstalldirs).
933
934 2006-04-11  Bruno Haible  <bruno@clisp.org>
935
936         * autosprintf.texi: Change license terms to FDL | GPL.
937
938 2006-04-01  Bruno Haible  <bruno@clisp.org>
939
940         * texi2html: Add option -expandtex. Expand @ifhtml by default, not
941         @ifinfo. Use Unicode quotation marks instead of grave and acute
942         accents. Emit charset=UTF-8 declaration. Bump version number to 1.52b.
943
944 2006-01-22  Bruno Haible  <bruno@clisp.org>
945
946         * vasnprintf.c (VASNPRINTF): In the computation of the size of the
947         temporary buffer for sprintf, take into account the precision also
948         for 'd', 'i', 'u', 'o', 'x', 'X'.
949
950 2005-11-23  Bruno Haible  <bruno@clisp.org>
951
952         Cygwin portability.
953         * configure.ac: Invoke gl_WOE32_DLL.
954
955 2005-07-07  Bruno Haible  <bruno@clisp.org>
956
957         Add ability to create shared library on BeOS.
958         * configure.ac (LTNOUNDEF): New macro.
959         * Makefile.am (libasprintf_la_LDFLAGS): New variable.
960
961 2005-07-05  Bruno Haible  <bruno@clisp.org>
962
963         * printf-args.c (printf_fetchargs): Work around broken definition of
964         wint_t on mingw.
965
966 2006-06-21  Bruno Haible  <bruno@clisp.org>
967
968         * gettext-0.14.6 released.
969
970 2005-05-23  Bruno Haible  <bruno@clisp.org>
971
972         * gettext-0.14.5 released.
973
974 2005-04-11  Bruno Haible  <bruno@clisp.org>
975
976         * gettext-0.14.4 released.
977
978 2005-03-22  Bruno Haible  <bruno@clisp.org>
979
980         * configure.ac (AC_CONFIG_AUX_DIR): Use ../../build-aux.
981         * Makefile.am (ACLOCAL_AMFLAGS): Replace config/m4 with m4.
982
983 2005-03-14  Bruno Haible  <bruno@clisp.org>
984
985         * gettext-0.14.3 released.
986
987 2005-02-24  Bruno Haible  <bruno@clisp.org>
988
989         * gettext-0.14.2 released.
990
991 2005-02-13  Bruno Haible  <bruno@clisp.org>
992
993         * Makefile.am (libasprintf.la): New rule. Needed for BeOS.
994
995 2005-02-12  Bruno Haible  <bruno@clisp.org>
996
997         * Makefile.msvc (install): Update for 2004-01-18 change.
998         * Makefile.vms (install): Likewise.
999
1000 2005-02-12  Bruno Haible  <bruno@clisp.org>
1001
1002         * vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
1003
1004 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1005
1006         * alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
1007
1008 2004-09-08  Bruno Haible  <bruno@clisp.org>
1009
1010         * vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting length
1011         is > INT_MAX.
1012         * vasprintf.c (vasprintf): Don't test for length > INT_MAX any more.
1013
1014 2004-05-14  Bruno Haible  <bruno@clisp.org>
1015
1016         * vasnprintf.c (VASNPRINTF): Correctly handle the case of a precision
1017         that consists of a '.' followed by an empty digit string.
1018         Patch by Tor Lillqvist <tml@iki.fi>.
1019
1020 2004-04-19  Bruno Haible  <bruno@clisp.org>
1021
1022         * gettext.m4: Change jm_ to gl_ in all uses of AC_DEFINE'd names.
1023
1024 2004-03-11  Bruno Haible  <bruno@clisp.org>
1025
1026         * Makefile.am (config.h.msvc): Fix the value of SIZE_MAX.
1027
1028 2004-02-02  Bruno Haible  <bruno@clisp.org>
1029
1030         * Makefile.am (RM): New variable.
1031
1032 2004-01-29  Bruno Haible  <bruno@clisp.org>
1033
1034         * gettext-0.14.1 released.
1035
1036 2004-01-28  Bruno Haible  <bruno@clisp.org>
1037
1038         * gettext-0.14 released.
1039
1040 2004-01-18  Bruno Haible  <bruno@clisp.org>
1041
1042         * Makefile.am (autosprintf_all.html): Renamed from autosprintf.html.
1043         Works around a problem with automake-1.8: It removes autosprintf.html
1044         during "make mostlyclean".
1045
1046 2003-10-30  Paul Eggert  <eggert@twinsun.com>
1047             Bruno Haible  <bruno@clisp.org>
1048
1049         * vasprintf.c: Include <limits.h>, <stdlib.h>.
1050         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
1051
1052 2003-12-12  Bruno Haible  <bruno@clisp.org>
1053
1054         Assume automake-1.8.
1055         * Makefile.am (clean-local): Renamed from clean-am.
1056         (html-local): Renamed from html.
1057         (ps, pdf, .texi.pdf): Remove rules.
1058         (TEXI2PDF): Remove variable.
1059
1060 2003-12-17  Bruno Haible  <bruno@clisp.org>
1061
1062         * gettext-0.13.1 released.
1063
1064 2003-12-09  Bruno Haible  <bruno@clisp.org>
1065
1066         * Makefile.am (MAKEINFOFLAGS): New variable.
1067
1068 2003-11-30  Bruno Haible  <bruno@clisp.org>
1069
1070         * gettext-0.13 released.
1071
1072 2003-11-28  Bruno Haible  <bruno@clisp.org>
1073
1074         * configure.ac: Invoke AC_C_INLINE.
1075         * Makefile.am (config.h.msvc): Define SIZE_MAX and inline.
1076
1077 2003-11-23  Paul Eggert  <eggert@twinsun.com>
1078             Bruno Haible  <bruno@clisp.org>
1079
1080         * printf-parse.h: Don't include sys/types.h.
1081         (ARG_NONE): New macro.
1082         (char_directive): Change type of *arg_index fields to size_t.
1083         * printf-parse.c: Don't include sys/types.h.
1084         (SSIZE_MAX): Remove macro.
1085         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
1086         Remove unnecessary overflow check.
1087         * vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
1088         fields.
1089         * configure.ac: Don't invoke gt_TYPE_SSIZE_T.
1090
1091 2003-11-19  Bruno Haible  <bruno@clisp.org>
1092
1093         * configure.ac: Better test for ptrdiff_t. Invoke gt_TYPE_SSIZE_T and
1094         gl_XSIZE.
1095
1096 2003-11-17  Bruno Haible  <bruno@clisp.org>
1097
1098         * vasnprintf.c (alloca): Remove fallback definition.
1099         (freea): Remove definition.
1100         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
1101         Reported by Paul Eggert.
1102
1103 2003-11-16  Paul Eggert  <eggert@twinsun.com>
1104             Bruno Haible  <bruno@clisp.org>
1105
1106         Protect against address arithmetic overflow.
1107         * printf-args.h: Include stddef.h.
1108         (arguments): Change type of field 'count' to size_t.
1109         * printf-args.c (printf_fetchargs): Use size_t instead of
1110         'unsigned int' where appropriate.
1111         * printf-parse.h: Include sys/types.h.
1112         (char_directive): Change type of *arg_index fields to ssize_t.
1113         (char_directives): Change type of fields 'count', max_*_length to
1114         size_t.
1115         * printf-parse.c: Include sys/types.h and xsize.h.
1116         (SSIZE_MAX): Define fallback value.
1117         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
1118         instead of 'int' where appropriate. Check a_allocated, d_allocated
1119         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
1120         * vasnprintf.c: Include xsize.h.
1121         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
1122         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
1123         overflow. Avoid wraparound when converting a width or precision from
1124         decimal to binary.
1125         * xsize.h: New file, from gnulib.
1126         * Makefile.am (lib_asprintf_EXTRASOURCES): Add xsize.h.
1127
1128 2003-11-04  Bruno Haible  <bruno@clisp.org>
1129
1130         * Makefile.am (MAKEINFO): Set LC_MESSAGES and LC_ALL to empty as well.
1131
1132 2003-10-31  Bruno Haible  <bruno@clisp.org>
1133
1134         * configure.ac: Remove argument of FIX_MAKEFILE_COMPILE,
1135         FIX_MAKEFILE_INFO.
1136
1137 2003-10-19  Jim Meyering  <jim@meyering.net>
1138
1139         * vasnprintf.c (VASNPRINTF): Work around losing snprintf on HPUX 10.20.
1140
1141 2003-08-29  Bruno Haible  <bruno@clisp.org>
1142
1143         * configure.ac: Test whether _snprintf is declared, not only existent
1144         as a function.
1145         * vasnprintf.c: Test HAVE_DECL__SNPRINTF instead of HAVE__SNPRINTF.
1146         Test HAVE_DECL__SNWPRINTF instead of HAVE__SNWPRINTF.
1147         * Makefile.am (config.h.msvc): Define HAVE_DECL__SNPRINTF instead of
1148         defining snprintf as a macro.
1149
1150 2003-08-24  Bruno Haible  <bruno@clisp.org>
1151
1152         * vasnprintf.c (local_wcslen): Protect against multiple definition.
1153         (USE_SNPRINTF): Define also if only _snprintf() is available.
1154         (SNPRINTF): Possibly define as _snprintf or _snwprintf.
1155         * configure.ac: Also check for _snprintf.
1156
1157 2003-08-11  Bruno Haible  <bruno@clisp.org>
1158
1159         * vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
1160         (VASNPRINTF): Use it instead of wcslen.
1161         * configure.ac: Also check for wcslen.
1162         * Makefile.am (config.h_vms): Set HAVE_WCSLEN.
1163         (config.h.msvc): Likewise.
1164
1165 2003-06-20  Bruno Haible  <bruno@clisp.org>
1166
1167         * configure.ac: Invoke gt_PRINTF_POSIX.
1168         * lib-asprintf.h: Ignore an existing vasprintf() if it doesn't support
1169         POSIX/XSI format strings.
1170         * lib-asprintf.c: Likewise.
1171         * Makefile.am (config.h_vms): Define HAVE_POSIX_PRINTF.
1172
1173 2003-06-19  Bruno Haible  <bruno@clisp.org>
1174
1175         * configure.ac (jm_AC_TYPE_LONG_LONG): Replaces gt_TYPE_LONGLONG.
1176         * printf-parse.c: Generalize to it can be compiled for wide strings.
1177         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
1178         * vasnprintf.c: Generalize to it can be compiled for wide strings.
1179         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
1180         SNPRINTF): New macros.
1181         Don't include <alloca.h> if the file is used inside libintl.
1182
1183 2003-05-30  Bruno Haible  <bruno@clisp.org>
1184
1185         * autosprintf.texi: Tweak @dircategory and @direntry.
1186         Reported by Karl Berry <karl@freefriends.org>.
1187
1188 2003-05-22  Bruno Haible  <bruno@clisp.org>
1189
1190         * gettext-0.12.1 released.
1191
1192 2003-05-20  Bruno Haible  <bruno@clisp.org>
1193
1194         * Makefile.am (config.h_vms, config.h.msvc, autosprintf.h.msvc-shared):
1195         Don't use $< here.
1196
1197 2003-05-19  Bruno Haible  <bruno@clisp.org>
1198
1199         * windows/asprintf.rc: Include <winver.h>.
1200         Reported by Perry Rapp.
1201
1202 2003-05-18  Bruno Haible  <bruno@clisp.org>
1203
1204         * Makefile.msvc (DEBUGFLAGS): New variable.
1205         (asprintf.lib): Use it.
1206
1207 2003-05-17  Bruno Haible  <bruno@clisp.org>
1208
1209         * gettext-0.12 released.
1210
1211 2003-04-12  Bruno Haible  <bruno@clisp.org>
1212
1213         * Makefile.am (config.h_vms): Renamed from config.h.vms.
1214         * Makefile.vms: New variables ABIFLAGS, DEFS. Avoid rules with no
1215         lines. Update library creation rule. Don't use the force target.
1216         Correct wildcard syntax.
1217         Suggested by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
1218
1219 2003-04-12  Bruno Haible  <bruno@clisp.org>
1220
1221         * Makefile.am (docdir): Use datadir instead of prefix.
1222         * Makefile.msvc (datadir): New variable.
1223         (sub_docdir): Use it instead of prefix.
1224         (install, installdirs): Update.
1225         * Makefile.vms (datadir): New variable.
1226         (sub_docdir): Use it instead of prefix.
1227
1228 2003-03-30  Bruno Haible  <bruno@clisp.org>
1229
1230         * Makefile.vms: New file.
1231         * Makefile.am (config.h.vms): New rule.
1232         (EXTRA_DIST): Add Makefile.vms and config.h.vms.
1233
1234 2003-03-17  Bruno Haible  <bruno@clisp.org>
1235
1236         Native Woe32/MSVC support.
1237         * autosprintf.h.in: Renamed from autosprintf.h.
1238         * Makefile.msvc: New file.
1239         * README.woe32: New file.
1240         * windows/dllexport.h: New file.
1241         * windows/asprintf.rc: New file.
1242         * Makefile.am (EXTRA_DIST): Add them and config.h.msvc and
1243         autosprintf.h.in.
1244         (autosprintf.h): New rule.
1245         (MOSTLYCLEANFILES): Add autosprintf.h.
1246         (dist-hook): Don't distribute autosprintf.h.
1247         (config.h.msvc, autosprintf.h.msvc-shared): New rules.
1248
1249 2003-02-22  Bruno Haible  <bruno@clisp.org>
1250
1251         * autosprintf.texi: Add comment about indices.
1252         * Makefile.am (MOSTLYCLEANFILES): No need to clean the unused indices.
1253         (The automake generated rule already cleans them.)
1254
1255 2003-02-22  Bruno Haible  <bruno@clisp.org>
1256
1257         * Makefile.am (installdirs): Remove dependency, redundant with
1258         automake >= 1.6.
1259
1260 2003-02-18  Bruno Haible  <bruno@clisp.org>
1261
1262         * Makefile.am (clean-am): New rule. For Solaris cc.
1263
1264 2003-02-12  Bruno Haible  <bruno@clisp.org>
1265
1266         * configure.ac: Renamed from configure.in. Invoke AC_CONFIG_AUX_DIR.
1267         Invoke AC_FUNC_ALLOCA instead of gl_FUNC_ALLOCA. Remove redundant
1268         postprocessing of Makefile.
1269         * Makefile.am (ACLOCAL_AMFLAGS): Add -I ../../config/m4.
1270         ($(libasprintf_la_OBJECTS)): Make alloca.h dependency effective.
1271
1272 2003-01-03  Albert Chin  <libtool@thewrittenword.com>
1273
1274         * ltmain.sh: Don't pass -R flags found in a .la's dependency_libs
1275         variable directly down to the linker.
1276         Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.
1277
1278 2003-01-12  Bruno Haible  <bruno@clisp.org>
1279
1280         * configure.in: Invoke gl_FUNC_ALLOCA instead of AC_FUNC_ALLOCA.
1281         * alloca_.h: New file, from gnulib.
1282         * liballoca.h: Remove file.
1283         * Makefile.am: Add snippet from gnulib module alloca.
1284         (lib_asprintf_EXTRASOURCES): Remove liballoca.h.
1285         * vasnprintf.c: Include alloca.h instead of liballoca.h.
1286
1287 2003-01-12  Bruno Haible  <bruno@clisp.org>
1288
1289         * Makefile.am: Make use of += for variables.
1290
1291 2003-01-12  Bruno Haible  <bruno@clisp.org>
1292
1293         Portability to FreeBSD.
1294         * configure.in: Invoke gt_TYPE_WINT_T.
1295         * printf-args.h: Use HAVE_WINT_T, not HAVE_WCHAR_T, to check for
1296         availability of wint_t.
1297         * printf-argc.c: Likewise.
1298         * printf-parse.c: Likewise.
1299         * vasnprintf.c: Likewise.
1300
1301 2002-12-07  Bruno Haible  <bruno@clisp.org>
1302
1303         Switch to autoconf-2.57 and automake-1.7.2.
1304         * configure.in: Use AC_CONFIG_FILES, because the AC_OUTPUT commands
1305         and not run any more when config.status is called to create a single
1306         file.
1307
1308 2002-11-13  Bruno Haible  <bruno@clisp.org>
1309
1310         Assume ANSI C.
1311         * libstdarg.h: Remove file.
1312         * Makefile.am (lib_asprintf_EXTRASOURCES): Remove libstdarg.h.
1313         * asnprintf.c: Include <stdarg.h> instead of libstdarg.h.
1314         (asnprintf): Use ANSI C function declarations. Use va_start instead of
1315         VA_START.
1316         * asprintf.c: Include <stdarg.h> instead of libstdarg.h.
1317         (asnprintf): Use ANSI C function declarations. Use va_start instead of
1318         VA_START.
1319         * printf-args.h (PARAMS): Remove macro.
1320         (printf_fetchargs): Use ANSI C function declarations.
1321         * printf-args.c (printf_fetchargs): Likewise.
1322         * printf-parse.h (printf_parse): Likewise.
1323         * printf-parse.c (printf_parse): Likewise.
1324         * vasnprintf.h (PARAMS): Remove macro.
1325         (asnprintf, vasnprintf): Use ANSI C function declarations.
1326         * vasnprintf.c (vasnprintf): Likewise.
1327         * vasprintf.h (PARAMS): Remove macro.
1328         (asprintf, vasprintf): Use ANSI C function declarations.
1329         * vasprintf.c (vasprintf): Likewise.
1330
1331 2002-10-27  Bruno Haible  <bruno@clisp.org>
1332
1333         * printf-args.h, printf-args.c: New files.
1334         * printf-parse.h, printf-parse.c: New files.
1335         * vasnprintf.h, vasnprintf.c, asnprintf.c: New files.
1336         * vasprintf.h, vasprintf.c, asprintf.c: New files.
1337         * lib-asprintf.h, lib-asprintf.c: New files.
1338         * autosprintf.h, autosprintf.cc: New files.
1339         * README, NEWS, AUTHORS, COPYING, autosprintf.texi: New files.
1340         * Makefile.am, configure.in: New files.
1341         * liballoca.h, libstdarg.h: New files, from gettext-0.11.6/lib.
1342         * COPYING.LIB, INSTALL, config.guess, config.sub, install-sh,
1343         ltmain.sh, missing, mkinstalldirs, texi2html, texinfo.tex: Standard
1344         infrastructure files, from gettext-0.11.6.