You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by jo...@apache.org on 2004/05/27 23:55:02 UTC

cvs commit: apr-util/xlate xlate.c

jorton      2004/05/27 14:55:02

  Modified:    .        Tag: APU_0_9_BRANCH CHANGES
               xlate    Tag: APU_0_9_BRANCH xlate.c
  Log:
  * xlate/xlate.c (check_sbcs): Create a new iconv handle after putting
  the old one into an undefined state.  [fixes Subversion on AIX 4.x].
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.117.2.9 +4 -1      apr-util/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apr-util/CHANGES,v
  retrieving revision 1.117.2.8
  retrieving revision 1.117.2.9
  diff -d -u -r1.117.2.8 -r1.117.2.9
  --- CHANGES	26 May 2004 12:46:03 -0000	1.117.2.8
  +++ CHANGES	27 May 2004 21:55:01 -0000	1.117.2.9
  @@ -1,8 +1,11 @@
   Changes with APR-util 0.9.5
   
  +  *) Fix corrupt output from the apr_xlate_* interfaces on AIX 4.x.
  +     [Joe Orton]
  +
     *) Change the order in which ldap.h and lber.h are defined, to fix
        a compile bug in Solaris v2.8 which requires lber.h then ldap.h.
  -     PR 27379 [Andrew Connors <an...@idea.com>]
  +     PR 27379.  [Andrew Connors <andy.connors idea.com>]
    
     *) Restore support for SHA1 passwords in apr_validate_password.
        PR 17343.  [Paul Querna <chip force-elite.com>]
  
  
  
  No                   revision
  No                   revision
  1.17.2.2  +12 -0     apr-util/xlate/xlate.c
  
  Index: xlate.c
  ===================================================================
  RCS file: /home/cvs/apr-util/xlate/xlate.c,v
  retrieving revision 1.17.2.1
  retrieving revision 1.17.2.2
  diff -d -u -r1.17.2.1 -r1.17.2.2
  --- xlate.c	13 Feb 2004 09:52:44 -0000	1.17.2.1
  +++ xlate.c	27 May 2004 21:55:02 -0000	1.17.2.2
  @@ -133,6 +133,12 @@
   
           /* TODO: add the table to the cache */
       }
  +    else {
  +        /* reset the iconv descriptor, since it's now in an undefined
  +         * state. */
  +        iconv_close(convset->ich);
  +        convset->ich = iconv_open(convset->topage, convset->frompage);
  +    }
   }
   #elif APU_HAVE_APR_ICONV
   static void check_sbcs(apr_xlate_t *convset)
  @@ -168,6 +174,12 @@
           convset->ich = (apr_iconv_t)-1;
   
           /* TODO: add the table to the cache */
  +    }
  +    else {
  +        /* reset the iconv descriptor, since it's now in an undefined
  +         * state. */
  +        apr_iconv_close(convset->ich);
  +        convset->ich = apr_iconv_open(convset->topage, convset->frompage);
       }
   }
   #endif /* APU_HAVE_APR_ICONV */