home: hub: 9ficl

Download patch

ref: 6a5baa7bb25ac3363d687931898f6a5cfc1d7a6b
parent: 8e431ba2bb96d34038f7e88afa16b4a760a07176
author: asau <asau@ficl.sf.net>
date: Mon Oct 25 07:18:06 CDT 2010

Factor "not found" report.

--- a/primitives.c
+++ b/primitives.c
@@ -4,7 +4,7 @@
 ** ANS Forth CORE word-set written in C
 ** Author: John Sadler (john_sadler@alum.mit.edu)
 ** Created: 19 July 1997
-** $Id: primitives.c,v 1.4 2010/09/13 18:43:04 asau Exp $
+** $Id: primitives.c,v 1.5 2010/10/25 12:18:06 asau Exp $
 *******************************************************************/
 /*
 ** Copyright (c) 1997-2001 John Sadler (john_sadler@alum.mit.edu)
@@ -853,6 +853,13 @@
     return;
 }
 
+/**************************************************************************
+** Report error
+**************************************************************************/
+static void ficlVmThrowNotFound(ficlVm *vm, ficlString s)
+{
+    ficlVmThrowError(vm, "%.*s not found", FICL_STRING_GET_LENGTH(s), FICL_STRING_GET_POINTER(s));
+}
 
 /**************************************************************************
                         i n t e r p r e t 
@@ -920,7 +927,7 @@
         }
     }
 
-    ficlVmThrowError(vm, "%.*s not found", FICL_STRING_GET_LENGTH(s), FICL_STRING_GET_POINTER(s));
+    ficlVmThrowNotFound(vm, s);
 
     return;                 /* back to inner interpreter */
 }
@@ -1253,7 +1260,7 @@
 
     word = ficlDictionaryLookup(ficlVmGetDictionary(vm), name);
     if (!word)
-        ficlVmThrowError(vm, "%.*s not found", FICL_STRING_GET_LENGTH(name), FICL_STRING_GET_POINTER(name));
+        ficlVmThrowNotFound(vm, name);
     ficlStackPushPointer(vm->dataStack, word);
     return;
 }
@@ -2783,7 +2790,7 @@
 #endif /* FICL_WANT_LOCALS */
     word = ficlDictionaryLookup(dictionary, name);
     if (!word)
-        ficlVmThrowError(vm, "%.*s not found", FICL_STRING_GET_LENGTH(name), FICL_STRING_GET_POINTER(name));
+        ficlVmThrowNotFound(vm, name);
 
 	switch ((ficlInstruction)word->code)
 	{