[4329] in linux-announce channel archive

home help back first fref pref prev next nref lref last post

Linux-Announce Digest #621

daemon@ATHENA.MIT.EDU (Digestifier)
Mon Dec 15 11:13:07 2003

From: Digestifier <Linux-Announce-Request@senator-bedfellow.mit.edu>
To: Linux-Announce@senator-bedfellow.mit.edu
Reply-To: Linux-Announce@senator-bedfellow.mit.edu
Date:     Mon, 15 Dec 2003 11:13:02 EST

Linux-Announce Digest #621, Volume #4          Mon, 15 Dec 2003 11:13:02 EST

Contents:
  Vstr 1.0.11 (string library in C) (James Antill)

----------------------------------------------------------------------------

From: James Antill <james@and.org>
Subject: Vstr 1.0.11 (string library in C)
Date: Mon, 15 Dec 2003 09:29:12 CST


 About
 -----

 Vstr is a string library, it's designed so you can work optimally with
readv()/writev() for input/output. This means that, for instance, you
can readv() data to the end of the string and writev() data from the
beginning of the string without having to allocate or move memory. It
also means that the library is completely happy with data that has
multiple zero bytes in it.
 This design constraint means that unlike most string libraries Vstr
doesn't have an internal representation of the string where everything
can be accessed from a single (char *) pointer in C, the internal
representation is of multiple "blocks" or nodes each carrying some of
the data for the string. This model of representing the data also
means that as a string gets bigger the Vstr memory usage only goes up
linearly and has no inherent copying. It also means that the string
can do automatic referencing for mmap() areas of memory,
 Other convenience functions are also included, so you can: easily
compare data, search for data and split data from a string into
sections (similar to perl's split function). In a POSIX environment
the short cut functions to call readv/writev are included.
 It also includes a portable version of a printf-like function (which
is ISO 9899:1999 compliant, and includes support for i18n parameter
position modifiers). However, as well as being portable, there is a
large extension available called "custom formatters" which allows you
to print any type (Ie. ipv4 addresses or Vstr strings) via. the printf
like function (and this is done in such a way that static format
checkers like gcc will understand what is being done).

 Main Changes
 ------------

. The output using vstr_sc_fmt_add_ptr() was fixed, as the wrong type
was used for vstr_sc_fmt_cb_beg().
. vstr_export_chr() was changed to make it easier to optimize for
GCC.
. Custom formatters now accept %d instead of the field width or
precision in the static format checkers compat.
. Build fixes were made for Cygwin, 64-bit architectures, and ICC.
. Debug mode no longer raises false errors when changing certain
configuration values to be externally allocated.
. Added gmp example to install.


 Download URLs
 -------------

 Overview:              http://www.and.org/vstr/
 Tutorial:              http://www.and.org/vstr/tutorial.html
 Design:                http://www.and.org/vstr/design.html
 String API comparison: http://www.and.org/vstr/comparison.html
 Printf comparison:     http://www.and.org/vstr/printf_comparison.html
 ChangeLog:             http://www.and.org/vstr/ChangeLog
 Security:              http://www.and.org/vstr/security.html

 All of the above are included in the tar balls and rpms.

 Tar balls
 ---------
http://www.and.org/vstr/1.0.11/vstr-1.0.11.tar.gz
ftp://ftp.and.org/pub/james/vstr/1.0.11/vstr-1.0.11.tar.gz
http://www.and.org/vstr/1.0.11/vstr-1.0.11.tar.bz2
ftp://ftp.and.org/pub/james/vstr/1.0.11/vstr-1.0.11.tar.bz2

 YUM repository
 --------------

[and-org-james]
name=And.org James' packages
baseurl=ftp://ftp.and.org/yum/fc$releasever-james

 RPMs
 ----
http://www.and.org/vstr/rpms/
ftp://ftp.and.org/pub/james/vstr/rpms/

 PAD description
 ---------------

http://www.and.org/vstr/vstr_pad.xml

-- 
James Antill -- james@and.org
Need an efficent and powerful string library for C?
http://www.and.org/vstr/

##########################################################################
# Send submissions for comp.os.linux.announce to: cola@stump.algebra.com #
# PLEASE remember a short description of the software and the LOCATION.  #
# This group is archived at http://stump.algebra.com/~cola/              #
##########################################################################


------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: Linux-Announce-Request@NEWS-DIGESTS.MIT.EDU

You can submit announcements to be moderated via:

    Internet: linux-announce@NEWS.ORNL.GOV

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi				pub/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Announce Digest
******************************

home help back first fref pref prev next nref lref last post