]> git.sur5r.net Git - openldap/commitdiff
Tweak back-ldif messages about CRC checksums.
authorHallvard Furuseth <hallvard@openldap.org>
Mon, 20 Jun 2011 19:33:50 +0000 (21:33 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Mon, 20 Jun 2011 19:53:05 +0000 (21:53 +0200)
servers/slapd/back-ldif/ldif.c

index 586b6d6025faaed07c1c964f0c0ff7b38302c00f..1ec238cb775d9d622e0014b4804e7e3d10b8f705 100644 (file)
@@ -420,6 +420,7 @@ ldif_read_file( const char *path, char **datap )
        int res = -1;   /* 0:success, <0:error, >0:file too big/growing. */
        struct stat st;
        char *data = NULL, *ptr = NULL;
+       const char *msg;
 
        if ( datap == NULL ) {
                res = stat( path, &st );
@@ -453,14 +454,13 @@ ldif_read_file( const char *path, char **datap )
  done:
        if ( res == 0 ) {
 #ifdef LDAP_DEBUG
-               Debug( LDAP_DEBUG_TRACE, "ldif_read_file: %s: \"%s\"\n",
-                       datap ? "read entry file" : "entry file exists", path, 0 );
+               msg = "entry file exists";
                if ( datap ) {
+                       msg = "read entry file";
                        len = ptr - data;
                        ptr = strstr( data, "\n# CRC32" );
                        if (!ptr) {
-                               Debug( LDAP_DEBUG_TRACE, "ldif_read_file: no checksum \"%s\"\n",
-                                       path, 0, 0 );
+                               msg = "read entry file without checksum";
                        } else {
                                unsigned int crc1 = 0, crc2 = 1;
                                if ( sscanf( ptr + 9, "%08x", &crc1) == 1) {
@@ -474,9 +474,11 @@ ldif_read_file( const char *path, char **datap )
                                if ( crc1 != crc2 ) {
                                        Debug( LDAP_DEBUG_ANY, "ldif_read_file: checksum error on \"%s\"\n",
                                                path, 0, 0 );
+                                       return rc;
                                }
                        }
                }
+               Debug( LDAP_DEBUG_TRACE, "ldif_read_file: %s: \"%s\"\n", msg, path, 0 );
 #endif /* LDAP_DEBUG */
        } else {
                if ( res < 0 && errno == ENOENT ) {
@@ -484,7 +486,7 @@ ldif_read_file( const char *path, char **datap )
                                "no entry file \"%s\"\n", path, 0, 0 );
                        rc = LDAP_NO_SUCH_OBJECT;
                } else {
-                       const char *msg = res < 0 ? STRERROR( errno ) : "bad stat() size";
+                       msg = res < 0 ? STRERROR( errno ) : "bad stat() size";
                        Debug( LDAP_DEBUG_ANY, "ldif_read_file: %s for \"%s\"\n",
                                msg, path, 0 );
                        rc = LDAP_OTHER;