[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-commits
Subject:    svn commit: r1040831 - in /subversion/trunk/subversion: include/svn_checksum.h libsvn_subr/checksum.
From:       stefan2 () apache ! org
Date:       2010-11-30 23:56:41
Message-ID: 20101130235641.5B68123889ED () eris ! apache ! org
[Download RAW message or body]

Author: stefan2
Date: Tue Nov 30 23:56:40 2010
New Revision: 1040831

URL: http://svn.apache.org/viewvc?rev=1040831&view=rev
Log:
Fix 'svnadmin verify' for format 5 repositories. During the checking process,
they yield NULL for SHA1 checksums. The most robust way to fix that is to
allow NULL for checksum in svn_checksum_to_cstring. This seems justified
as NULL is already a valid return value instead of e.g. an empty string. So,
callers may receive NULL as result and could therefore assume that NULL is
a valid input, too

* subversion/include/svn_checksum.h
  (svn_checksum_to_cstring): extend doc string
* subversion/libsvn_subr/checksum.c
  (svn_checksum_to_cstring): return NULL for NULL checksums as well

Modified:
    subversion/trunk/subversion/include/svn_checksum.h
    subversion/trunk/subversion/libsvn_subr/checksum.c

Modified: subversion/trunk/subversion/include/svn_checksum.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_checksum.h?rev=1040831&r1=1040830&r2=1040831&view=diff
 ==============================================================================
--- subversion/trunk/subversion/include/svn_checksum.h (original)
+++ subversion/trunk/subversion/include/svn_checksum.h Tue Nov 30 23:56:40 2010
@@ -121,7 +121,7 @@ svn_checksum_to_cstring_display(const sv
 
 /** Return the hex representation of @a checksum, allocating the
  * string in @a pool.  If @a checksum->digest is all zeros (that is,
- * 0, not '0'), then return NULL.
+ * 0, not '0') or NULL, then return NULL.
  *
  * @since New in 1.6.
  */

Modified: subversion/trunk/subversion/libsvn_subr/checksum.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/checksum.c?rev=1040831&r1=1040830&r2=1040831&view=diff
 ==============================================================================
--- subversion/trunk/subversion/libsvn_subr/checksum.c (original)
+++ subversion/trunk/subversion/libsvn_subr/checksum.c Tue Nov 30 23:56:40 2010
@@ -135,6 +135,9 @@ const char *
 svn_checksum_to_cstring(const svn_checksum_t *checksum,
                         apr_pool_t *pool)
 {
+  if (checksum == NULL)
+    return NULL;
+
   switch (checksum->kind)
     {
       case svn_checksum_md5:


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic