Commit 3cfb6b3b authored by Randy Kunkee's avatar Randy Kunkee
Browse files

Correctly parse v2 OpenLDAP ldap.h.

parent c6ad81bc
...@@ -10,18 +10,34 @@ proc genstrings {path} { ...@@ -10,18 +10,34 @@ proc genstrings {path} {
puts "/* This file automatically generated, hand edit at your own risk! */" puts "/* This file automatically generated, hand edit at your own risk! */"
puts -nonewline "char *ldaptclerrorcode\[\] = { puts -nonewline "char *ldaptclerrorcode\[\] = {
NULL" NULL"
set lasterr 0
while {[gets $fp line] != -1} { while {[gets $fp line] != -1} {
#puts stderr $line
if {[clength $line] == 0 || [ctype space $line]} continue if {[clength $line] == 0 || [ctype space $line]} continue
if {![string match #define* $line]} break if {![string match #define* $line]} break
if {![string match "#define LDAP_*" $line]} continue if {![string match "#define LDAP_*" $line]} continue
if {[string match "*LDAP_RANGE*" $line]} continue
lassign $line define macro value 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 incr lasterr
while {$lasterr < $value} { while {$lasterr < $value} {
puts -nonewline ",\n\tNULL" puts -nonewline ",\n\tNULL"
incr lasterr incr lasterr
} }
puts -nonewline ",\n\t\"$macro\"" puts -nonewline ",\n\t\"$ldap_errname($value)\""
} }
puts "\n};" puts "\n};"
puts "#define LDAPTCL_MAXERR\t$value" puts "#define LDAPTCL_MAXERR\t$value"
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment