From: Randy Kunkee Date: Thu, 22 Jun 2000 23:21:05 +0000 (+0000) Subject: Correctly parse v2 OpenLDAP ldap.h. X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~2546 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3cfb6b3b813e514b0614494202da74d8af29c5a6;p=openldap Correctly parse v2 OpenLDAP ldap.h. --- diff --git a/contrib/ldaptcl/ldaperr.tcl b/contrib/ldaptcl/ldaperr.tcl index 31872f66f9..ef77d7f736 100644 --- a/contrib/ldaptcl/ldaperr.tcl +++ b/contrib/ldaptcl/ldaperr.tcl @@ -10,18 +10,34 @@ proc genstrings {path} { puts "/* This file automatically generated, hand edit at your own risk! */" puts -nonewline "char *ldaptclerrorcode\[\] = { NULL" - set lasterr 0 while {[gets $fp line] != -1} { + #puts stderr $line if {[clength $line] == 0 || [ctype space $line]} continue if {![string match #define* $line]} break if {![string match "#define LDAP_*" $line]} continue + if {[string match "*LDAP_RANGE*" $line]} continue lassign $line define macro value + set ldap_errcode($macro) $value + } + foreach i [array names ldap_errcode] { + set value $ldap_errcode($i) + #puts stderr "checking $value" + if [regexp {^[A-Z_]} $value] { + if [info exists ldap_errcode($value)] { + set value $ldap_errcode($value) + set ldap_errcode($i) $value + } + } + set ldap_errname($value) $i + } + set lasterr 0 + foreach value [lsort -integer [array names ldap_errname]] { incr lasterr while {$lasterr < $value} { puts -nonewline ",\n\tNULL" incr lasterr } - puts -nonewline ",\n\t\"$macro\"" + puts -nonewline ",\n\t\"$ldap_errname($value)\"" } puts "\n};" puts "#define LDAPTCL_MAXERR\t$value"