Vstr 1.0.11 (string library in C)

From: James Antill (james_at_and.org)
Date: 12/15/03

  • Next message: Paul M Foster: "[SLUG] Suncoast LUG Meetings"
    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/              #
    ##########################################################################
    

  • Next message: Paul M Foster: "[SLUG] Suncoast LUG Meetings"

    Relevant Pages

    • Vstr 1.0.14 (string library in C)
      ... can readvdata to the end of the string and writevdata from the ... This design constraint means that unlike most string libraries Vstr ...
      (comp.os.linux.announce)
    • Re: Pascal - C (2)
      ... you really don't have Pascal's self managed string semantics in the ... core language. ... You can use string libraries such as mine ...
      (comp.lang.c)
    • Re: Language standard: the least common denominator vs. utility
      ... So I'll include your string library. ... Oliver, my colleague, is outputting files in PDB format, and also wants a ... Suddenly we've got all these string libraries sloshing about our code, ... Using any decent string API has to unify the first 4 problems, ...
      (comp.lang.c)
    • Vstr 1.0.13 (string library in C)
      ... can readvdata to the end of the string and writevdata from the ... This design constraint means that unlike most string libraries Vstr ...
      (comp.os.linux.announce)
    • Vstr 1.0.12 (string library in C)
      ... can readvdata to the end of the string and writevdata from the ... This design constraint means that unlike most string libraries Vstr ...
      (comp.os.linux.announce)