Index: generic/gentclAPI.tcl =================================================================== diff -u -r7def5bc35b6d31f0390d943d6d2221f8938b0e8a -r1f5f538eb5d3a30d1f616b9c7badfd7da90ba3a7 --- generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision 7def5bc35b6d31f0390d943d6d2221f8938b0e8a) +++ generic/gentclAPI.tcl (.../gentclAPI.tcl) (revision 1f5f538eb5d3a30d1f616b9c7badfd7da90ba3a7) @@ -391,17 +391,17 @@ foreach c [array names ::createdConverter] {lappend entries "\{$::createdConverter($c)\}"} if {[llength $entries]>0} { puts [subst { -static enumeratorConverterEntry enumeratorConverterEntries\[\] = { + static enumeratorConverterEntry enumeratorConverterEntries\[\] = { [join $entries ",\n "], {NULL, NULL} }; }] } - - puts { + set nrIfds [expr {[llength $ifds]+1}] + puts [subst -nocommands { /* just to define the symbol */ -static Nsf_methodDefinition method_definitions[]; - } +static Nsf_methodDefinition method_definitions[$nrIfds]; + }] set namespaces [list] foreach {key value} [array get ::ns] { @@ -417,7 +417,7 @@ puts "enum {\n $enumString\n} NsfMethods;\n" puts $fns set definitionString [join $ifds ",\n"] - puts "static Nsf_methodDefinition method_definitions\[\] = \{\n$definitionString,\{NULL\}\n\};\n" + puts "static Nsf_methodDefinition method_definitions\[$nrIfds\] = \{\n$definitionString,\{NULL\}\n\};\n" } proc methodDefinition {methodName methodType implementation parameterDefinitions options} { Index: generic/nsfAPI.h =================================================================== diff -u -rf61ee3dfc17d8cf04a0dc9ada9cb0f939514a511 -r1f5f538eb5d3a30d1f616b9c7badfd7da90ba3a7 --- generic/nsfAPI.h (.../nsfAPI.h) (revision f61ee3dfc17d8cf04a0dc9ada9cb0f939514a511) +++ generic/nsfAPI.h (.../nsfAPI.h) (revision 1f5f538eb5d3a30d1f616b9c7badfd7da90ba3a7) @@ -188,7 +188,7 @@ } -static enumeratorConverterEntry enumeratorConverterEntries[] = { + static enumeratorConverterEntry enumeratorConverterEntries[] = { {ConvertToScope, "all|class|object"}, {ConvertToInfoobjectparametersubcmd, "list|name|parameter|parametersyntax"}, {ConvertToInfomethodsubcmd, "args|body|definition|exists|registrationhandle|definitionhandle|handle|origin|parameter|parametersyntax|type|precondition|postcondition|submethods|returns"}, @@ -208,7 +208,7 @@ /* just to define the symbol */ -static Nsf_methodDefinition method_definitions[]; +static Nsf_methodDefinition method_definitions[100]; static CONST char *method_command_namespace_names[] = { "::nsf::methods::object::info", @@ -2456,7 +2456,7 @@ } } -static Nsf_methodDefinition method_definitions[] = { +static Nsf_methodDefinition method_definitions[100] = { {"::nsf::methods::class::alloc", NsfCAllocMethodStub, 1, { {"objectName", NSF_ARG_REQUIRED, 1, Nsf_ConvertToTclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} },