1. 01 Jan, 2016 1 commit
    • Paul Eggert's avatar
      version-etc: new year · 71090a2a
      Paul Eggert authored
      * build-aux/gendocs.sh (version):
      * doc/gendocs_template:
      * doc/gendocs_template_min:
      * doc/gnulib.texi:
      * lib/version-etc.c (COPYRIGHT_YEAR):
      Update copyright dates by hand in templates and the like.
      * all files: Run 'make update-copyright'.
      71090a2a
  2. 01 Jan, 2015 1 commit
    • Paul Eggert's avatar
      version-etc: new year · b9bfe784
      Paul Eggert authored
      * doc/gnulib.texi:
      * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
      * all files: Run 'make update-copyright'.
      b9bfe784
  3. 01 Jan, 2014 1 commit
  4. 01 Jan, 2013 1 commit
  5. 01 Jan, 2012 1 commit
  6. 05 Jul, 2011 1 commit
    • Eric Blake's avatar
      snprintf: guarantee %1$d, for libintl · c3153d2c
      Eric Blake authored
      Newer mingw (but not yet mingw64) provides two flavors of
      snprintf: _snprintf defers straight to msvcrt, which has broken
      return value and does not understand %llu or %zu; and snprintf,
      which fixes these two bugs but does not understand %1$s.
      
      Libintl specifically favors _snprintf, with broken return value,
      even when compiled on mingw with a fixed snprintf, because the
      only behavior which it wants to fix is %1$s handling.  But this
      means that the replacement libintl_snprintf has a broken return.
      
      If one uses the 'snprintf-posix' module, then the gnulib
      replacement kicks in, and does everything that libintl needs, so
      on mingw, <libintl.h> specifically avoids overriding snprintf if
      it detected that gnulib replaced snprintf.  However, if one only
      uses the 'snprintf' module and also uses libintl, this means
      there are two problems:
      
      1. The gnulib 'snprintf' module does not replace the mingw
      snprintf function, because it has proper return values, while the
      libintl.h header knows that %1$d is broken so snprintf must be
      replaced, with the end result that the application gets the
      libintl replacement snprintf with broken return values in spite
      of the gnulib module.
      
      2. Conversely, if the application did '#define snprintf snprintf',
      that would be enough to make libintl avoid installing its own
      replacement because libintl would see the define as a sign that
      gnulib is happy with snprintf.  However, if gnulib didn't enforce
      %1$s, users can end up with translated strings that break when
      passed to the native snprintf.
      
      Happily, the gnulib snprintf replacement already guarantees %1$s
      without needing any further preprocessor macros defined, and
      without dragging in the LGPLv3+ bulk of snprintf-posix, so the
      problem boils down to guaranteeing that gnulib will replace
      snprintf if it lacks %1$s support.  Basically, gnulib must
      replace snprintf under all the same conditions as libintl, as
      well as any other conditions of its own, if the libintl trick
      of deferring to gnulib is to work correctly.
      
      * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
      * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
      * doc/posix-functions/snprintf.texi (snprintf): Update.
      * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
      * tests/test-snprintf.c (main): Enhance test.
      * tests/test-vsnprintf.c (main): Likewise.
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      c3153d2c
  7. 01 Jan, 2011 1 commit
  8. 21 Dec, 2010 1 commit
    • Paul Eggert's avatar
      snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9 · 5ab02c05
      Paul Eggert authored
      This fixes a problem observed with the latest coreutils snapshot
      that caused a test to fail on Solaris 8.  src/csplit.c's call
      snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
      earlier, instead of returning the number of bytes that would have
      been generated; this causes csplit to incorrectly report memory
      exhaustion.
      * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
      snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
      Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
      comments to match.
      (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
      Fix typo in matching older versions of Solaris: "solaris2.10"
      is matched by the shell pattern "solaris2.[0-9]*".  This matters
      only for guessing while cross-compiling.
      * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
      5ab02c05
  9. 01 Jan, 2010 1 commit
  10. 29 Dec, 2009 1 commit
    • Jim Meyering's avatar
      update nearly all FSF copyright year lists to include 2009 · 3030c5b5
      Jim Meyering authored
      The files named by the following are exempted:
      
          grep -v '^#' config/srclist.txt|grep -v '^$' \
            | while read src dst; do
                test -f "$dst" && { echo "$dst"; continue; }
                test -d "$dst" || continue
                echo "$dst"/$(basename "$src")
              done > exempt
          git ls-files tests/unictype >> exempt
      
      In the remaining files, convert to all-interval notation if
      - there is already at least one year interval like 2000-2003
      - the file is maintained by me
      - the file is in lib/uni*/, where that style already prevails
      Otherwise, use update-copyright's default.
      3030c5b5
  11. 19 Apr, 2008 1 commit
  12. 07 Mar, 2007 2 commits
  13. 21 Feb, 2007 1 commit
  14. 23 Jan, 2005 1 commit
  15. 01 Oct, 2004 1 commit
  16. 30 Sep, 2004 1 commit
  17. 07 Aug, 2004 1 commit
  18. 09 Sep, 2003 1 commit
  19. 15 Jan, 2003 1 commit
  20. 31 Dec, 2002 1 commit