mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-30 02:19:26 -05:00
Correctly parse v2 OpenLDAP ldap.h.
This commit is contained in:
parent
c6ad81bcd2
commit
3cfb6b3b81
1 changed files with 18 additions and 2 deletions
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Reference in a new issue