docbook/instant: fix a few more issues
authorJon Trulson <jon@radscan.com>
Wed, 19 Sep 2018 17:28:48 +0000 (11:28 -0600)
committerJon Trulson <jon@radscan.com>
Wed, 19 Sep 2018 23:40:25 +0000 (17:40 -0600)
cde/programs/dtdocbook/doc2sdl/docbook.tcl
cde/programs/dtdocbook/instant/main.c

index 01578f8f86b0d2528cc83516406f7199854f84ac..3cef0f92596be904b369d7842a91f529aa4fc89c 100755 (executable)
@@ -1624,10 +1624,12 @@ proc EndPart {} {
 
     # check that all the glossed terms have been defined
     foreach name [array names currentGlossArray] {
-       if {[lindex $currentGlossArray($name) 1] != "defined"} {
-           set glossString [lindex $currentGlossArray($name) 2]
-           UserError "No glossary definition for \"$glossString\"" no
-       }
+        if {[info exists currentGlossArray($name)]} {
+            if {[lindex $currentGlossArray($name) 1] != "defined"} {
+                set glossString [lindex $currentGlossArray($name) 2]
+                UserError "No glossary definition for \"$glossString\"" no
+            }
+        }
     }
 
     # delete this glossary array
index 8297cf2a7664a5d7d4eb56145ddff6f3663b0753..65a65e9955ec551427a552ac831a803886d60e82 100644 (file)
@@ -376,7 +376,7 @@ static int DefaultOutputString(ClientData clientData,
     pArgv = argv[1];
     stringLength = (2 * strlen(pArgv)) + 3;
 
-    string = malloc(stringLength);
+    string = Tcl_Alloc(stringLength);
     memset(string, 0, stringLength);
     pString = string;
 
@@ -403,8 +403,7 @@ static int DefaultOutputString(ClientData clientData,
 
     /* put the string to the output */
     retCode = Tcl_VarEval(interpreter, "puts -nonewline ", string, 0);
-
-    free(string);
+    Tcl_Free(string);
 
     /* and ripple up any error code we got from the "puts" */
     return retCode;