[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r15593 - branches/ebcdic/trunk/subversion/libsvn_subr

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2005-08-05 00:36:24 CEST

pburba@tigris.org writes:

> Author: pburba
> Date: Thu Aug 4 16:11:01 2005
> New Revision: 15593
>
> Modified:
> branches/ebcdic/trunk/subversion/libsvn_subr/io.c
>
> Log:
> Tweak r14401 (fix of issue 2224 infinite recurse problem) so it works on AS/400.
>
> * subversion/libsvn_subr/io.c
> (svn_io_copy_dir_recursively): Pass strcmp strings with the *same* encoding.
> It tends to work better that way.
>
> Modified: branches/ebcdic/trunk/subversion/libsvn_subr/io.c
> Url: http://svn.collab.net/viewcvs/svn/branches/ebcdic/trunk/subversion/libsvn_subr/io.c?rev=15593&p1=branches/ebcdic/trunk/subversion/libsvn_subr/io.c&p2=branches/ebcdic/trunk/subversion/libsvn_subr/io.c&r1=15592&r2=15593
> ==============================================================================
> --- branches/ebcdic/trunk/subversion/libsvn_subr/io.c (original)
> +++ branches/ebcdic/trunk/subversion/libsvn_subr/io.c Thu Aug 4 16:11:01 2005
> @@ -800,7 +800,12 @@
> {
> /* Prevent infinite recursion by filtering off our
> newly created destination path. */
> - if (strcmp (this_entry.name, dst_basename) == 0)
> + const char *dst_basename_native = dst_basename;
> +#if APR_CHARSET_EBCDIC
> + SVN_ERR (svn_utf_cstring_from_utf8(&dst_basename_native,
> + dst_basename, pool));
> +#endif
> + if (strcmp (this_entry.name, dst_basename_native) == 0)
> continue;
>
> SVN_ERR (svn_io_copy_dir_recursively

It's always worth looking at these EBCDIC changes as they sometimes
reveal bugs in the non-EBCDIC code. In this case I think both trunk
and the EBCDIC branch should be:

Index: subversion/libsvn_subr/io.c
===================================================================
--- subversion/libsvn_subr/io.c (revision 15587)
+++ subversion/libsvn_subr/io.c (working copy)
@@ -715,7 +715,7 @@
               /* Prevent infinite recursion by filtering off our
                  newly created destination path. */
               if (strcmp (src, dst_parent) == 0
- && strcmp (this_entry.name, dst_basename) == 0)
+ && strcmp (entryname_utf8, dst_basename) == 0)
                 continue;
 
               SVN_ERR (svn_io_copy_dir_recursively

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 5 00:37:17 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.