OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   21-May-2004 09:49:32
  Branch: HEAD                             Handle: 2004052108493200

  Added files:
    openpkg-src/gift        gift.patch
  Modified files:
    openpkg-src/gift        gift.spec

  Log:
    take over Debian bugfix (hopefully va_copy is portable enough)

  Summary:
    Revision    Changes     Path
    1.1         +28 -0      openpkg-src/gift/gift.patch
    1.2         +3  -1      openpkg-src/gift/gift.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/gift/gift.patch
  ============================================================================
  $ cvs diff -u -r0 -r1.1 gift.patch
  --- /dev/null 2004-05-21 09:49:32.000000000 +0200
  +++ gift.patch        2004-05-21 09:49:32.000000000 +0200
  @@ -0,0 +1,28 @@
  +Index: lib/strobj.c
  +--- lib/strobj.c.orig        2003-12-23 05:22:53.000000000 +0100
  ++++ lib/strobj.c     2004-05-21 09:44:36.000000000 +0200
  +@@ -165,6 +165,7 @@
  + 
  + int string_appendvf (String *sobj, const char *fmt, va_list args)
  + {
  ++    va_list args_cpy;
  +     int written = 0;
  + 
  +     if (!sobj)
  +@@ -186,7 +187,15 @@
  +             {
  +                     max = sobj->alloc - sobj->len;
  + 
  +-                    written = vsnprintf (sobj->str + sobj->len, max, fmt, args);
  ++                    /*
  ++                     * We have to make a copy of the va_list because we may pass 
this
  ++                     * point multiple times. Note that simply calling va_start 
again is
  ++                     * not a good idea since the va_start/va_end should be in the 
same
  ++                     * stack frame because of some obscure implementations.
  ++                     */
  ++                    va_copy (args_cpy, args);
  ++                    written = vsnprintf (sobj->str + sobj->len, max, fmt, 
args_cpy);
  ++                    va_end (args_cpy);
  + 
  +                     /*
  +                      * Some implementations use -1 to indicate an inability to 
write
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/gift/gift.spec
  ============================================================================
  $ cvs diff -u -r1.1 -r1.2 gift.spec
  --- openpkg-src/gift/gift.spec        20 May 2004 08:43:30 -0000      1.1
  +++ openpkg-src/gift/gift.spec        21 May 2004 07:49:32 -0000      1.2
  @@ -34,7 +34,7 @@
   Group:        Network
   License:      GPL
   Version:      0.11.6
  -Release:      20040520
  +Release:      20040521
   
   #   package options
   %option       with_imagemagick  yes
  @@ -42,6 +42,7 @@
   
   #   list of sources
   Source0:      http://osdn.dl.sourceforge.net/gift/gift-%{version}.tar.bz2
  +Patch0:       gift.patch
   
   #   build information
   Prefix:       %{l_prefix}
  @@ -77,6 +78,7 @@
   
   %prep
       %setup -q
  +    %patch -p0
   
   %build
       CC="%{l_cc}" \
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to