[NLUUG]   Welcome to ftp.nluug.nl
Current directory: /os/NetBSD/NetBSD-release-10/src/external/gpl2/gettext/dist/gettext-runtime/libasprintf/
 
Current bandwidth utilization 1294.44 Mbit/s
Bandwidth utilization bar
Contents of README:
            GNU libasprintf - automatic formatted output to strings

This package makes the C formatted output routines (fprintf et al.) usable
in C++ programs.


Sample use
----------

  char *pathname = autosprintf ("%s/%s", directory, filename);
  cerr << autosprintf ("syntax error in %s:%d: %s", filename, line, errstring);


Benefits
--------

The benefits of autosprintf over the usual "piecewise meal" idiom

  cerr << "syntax error in " << filename << ":" << line << ": " << errstring;

are:

  - Reuses of the standard POSIX printf facility. Easy migration from C to C++.

  - English sentences are kept together.

  - Internationalization requires format strings, because
    1. Internationalization requires the ability for the translator to change
       the order of parts of a sentence. The POSIX printf formatted output
       functions (and thus also autosprintf) support this through the %m$ and
       *m$ syntax.
    2. Translators are used to translate one string per sentence, not
       multiple strings per sentence, and not C++ code statements.

  - Reduces the risk of programming errors due to forgotten state in the
    output stream (e.g.  'cout << hex;'  not followed by  'cout << dec;').

The benefits of autosprintf over C sprintf are:

  - Autosprintf avoids buffer overruns and truncated results.
    The C sprintf() function often leads to buffer overruns. On the other
    hand, the C snprintf() function requires extra coding for an a priori
    estimate of the result's size and truncates the result if the estimate
    was too low.

  - Autosprintf avoids memory leaks.
    Temporarily allocated memory is cleaned up automatically.


Installation
------------

See INSTALL. Usually "./configure; make; make install" should work.

The installed files are:
  - An include file "autosprintf.h" which defines the class 'autosprintf',
    in the namespace 'gnu'.
  - A library libasprintf containing this class.


Use
---

To use the class autosprintf, use

  #include "autosprintf.h"
  using gnu::autosprintf;

and link with the linker option

  -lasprintf


Misc notes
----------

An instance of class 'autosprintf' contains the formatted output result;
this string is freed when the instance's destructor is run.

The class name 'autosprintf' is meant to remind the C function sprintf(),
the GNU C library function asprintf(), and the C++ autoptr programming idiom.


Distribution
------------
    http://www.haible.de/bruno/gnu/libasprintf-1.0.tar.gz

Homepage
--------
    http://www.haible.de/bruno/packages-libasprintf.html

Bug reports to:
---------------
    <bug-gnu-gettext@gnu.org>


Bruno Haible <brunoe@clisp.org>

Icon  Name                                                                         Last modified      Size  
[DIR] Parent Directory - [DIR] CVS/ 17-Dec-2022 21:32 - [   ] AUTHORS 12-Jan-2016 20:50 33 [TXT] COPYING 12-Jan-2016 20:50 65 [TXT] COPYING.LIB 12-Jan-2016 20:50 25K [   ] ChangeLog 12-Jan-2016 20:50 16K [TXT] INSTALL 12-Jan-2016 20:50 11K [TXT] Makefile.am 12-Jan-2016 20:50 4.8K [TXT] Makefile.in 12-Jan-2016 23:58 33K [TXT] NEWS 12-Jan-2016 20:50 0 [TXT] README 12-Jan-2016 20:50 2.6K [TXT] README.woe32 12-Jan-2016 20:50 174 [TXT] aclocal.m4 12-Jan-2016 20:50 32K [TXT] alloca_.h 12-Jan-2016 20:50 2.3K [TXT] asnprintf.c 12-Jan-2016 20:50 1.1K [TXT] asprintf.c 12-Jan-2016 20:50 1.1K [TXT] autosprintf.cc 12-Jan-2016 20:50 2.2K [TXT] autosprintf.h.in 12-Jan-2016 20:50 2.2K [TXT] autosprintf.info 12-Jan-2016 20:50 4.4K [   ] autosprintf.texi 12-Jan-2016 20:50 5.9K [TXT] autosprintf_all.html 12-Jan-2016 20:50 3.8K [TXT] config.h.in 12-Jan-2016 20:50 3.8K [TXT] configure 12-Jan-2016 20:50 736K [TXT] configure.ac 12-Jan-2016 20:50 2.7K [TXT] lib-asprintf.c 12-Jan-2016 20:50 1.3K [TXT] lib-asprintf.h 12-Jan-2016 20:50 1.1K [TXT] printf-args.c 12-Jan-2016 20:50 4.1K [TXT] printf-args.h 12-Jan-2016 20:50 2.8K [TXT] printf-parse.c 12-Jan-2016 20:50 12K [TXT] printf-parse.h 12-Jan-2016 20:50 2.1K [TXT] texi2html 12-Jan-2016 20:50 56K [TXT] vasnprintf.c 12-Jan-2016 20:50 22K [TXT] vasnprintf.h 12-Jan-2016 20:50 2.8K [TXT] vasprintf.c 12-Jan-2016 20:50 1.5K [TXT] vasprintf.h 12-Jan-2016 20:50 2.0K [TXT] xsize.h 12-Jan-2016 20:50 3.5K

NLUUG - Open Systems. Open Standards
Become a member and get discounts on conferences and more, see the NLUUG website!