]> git.sur5r.net Git - openldap/commitdiff
cleanup ident string
authorPierangelo Masarati <ando@openldap.org>
Fri, 6 May 2005 17:11:40 +0000 (17:11 +0000)
committerPierangelo Masarati <ando@openldap.org>
Fri, 6 May 2005 17:11:40 +0000 (17:11 +0000)
servers/slapd/back-monitor/init.c

index 1986aae66759e3be02c5555f06463d341471ea61..c73caff65fe57b14dc5eb43a445bfb68db90b6da 100644 (file)
@@ -1372,8 +1372,7 @@ monitor_back_db_open(
        Entry                   *e, **ep;
        monitor_entry_t         *mp;
        int                     i;
-       char                    buf[ BACKMONITOR_BUFSIZE ],
-                               *end_of_line;
+       char                    buf[ BACKMONITOR_BUFSIZE ];
        struct berval           bv;
        struct tm               *tms;
 #ifdef HAVE_GMTIME_R
@@ -1452,20 +1451,36 @@ monitor_back_db_open(
                return( -1 );
        }
 
-       bv.bv_val = (char *) Versionstr;
-       end_of_line = strchr( Versionstr, '\n' );
-       if ( end_of_line ) {
-               bv.bv_len = end_of_line - Versionstr;
-       } else {
-               bv.bv_len = strlen( Versionstr );
-       }
+       bv.bv_val = strchr( (char *) Versionstr, '$' );
+       if ( bv.bv_val != NULL ) {
+               char    *end;
 
-       if ( attr_merge_normalize_one( e, mi->mi_ad_monitoredInfo,
-                               &bv, NULL ) ) {
-               Debug( LDAP_DEBUG_ANY,
-                       "unable to add monitoredInfo to \"%s\" entry\n",
-                       SLAPD_MONITOR_DN, 0, 0 );
-               return( -1 );
+               bv.bv_val++;
+               for ( ; bv.bv_val[ 0 ] == ' '; bv.bv_val++ )
+                       ;
+
+               end = strchr( bv.bv_val, '$' );
+               if ( end != NULL ) {
+                       end--;
+
+                       for ( ; end > bv.bv_val && end[ 0 ] == ' '; end-- )
+                               ;
+
+                       end++;
+
+                       bv.bv_len = end - bv.bv_val;
+
+               } else {
+                       bv.bv_len = strlen( bv.bv_val );
+               }
+
+               if ( attr_merge_normalize_one( e, mi->mi_ad_monitoredInfo,
+                                       &bv, NULL ) ) {
+                       Debug( LDAP_DEBUG_ANY,
+                               "unable to add monitoredInfo to \"%s\" entry\n",
+                               SLAPD_MONITOR_DN, 0, 0 );
+                       return( -1 );
+               }
        }
 
        mp = monitor_entrypriv_create();