Update interpreters to latest Garglk codebase
authorPhilip Chimento <philip.chimento@gmail.com>
Sun, 16 Sep 2012 11:04:26 +0000 (13:04 +0200)
committerPhilip Chimento <philip.chimento@gmail.com>
Sun, 16 Sep 2012 11:07:15 +0000 (13:07 +0200)
57 files changed:
interpreters/frotz/buffer.c
interpreters/frotz/err.c
interpreters/frotz/fastmem.c
interpreters/frotz/files.c
interpreters/frotz/glkmisc.c
interpreters/frotz/glkscreen.c
interpreters/frotz/input.c
interpreters/frotz/main.c
interpreters/frotz/math.c
interpreters/frotz/object.c
interpreters/frotz/process.c
interpreters/frotz/quetzal.c
interpreters/frotz/random.c
interpreters/frotz/redirect.c
interpreters/frotz/sound.c
interpreters/frotz/stream.c
interpreters/frotz/table.c
interpreters/frotz/text.c
interpreters/frotz/variable.c
interpreters/git/Makefile.am
interpreters/git/README.txt
interpreters/git/git.h
interpreters/git/glkop.c
interpreters/git/terp.c
interpreters/git/version.h
interpreters/glulxe/unixstrt.c
interpreters/nitfol/automap.c
interpreters/nitfol/debug.c
interpreters/nitfol/decode.c
interpreters/nitfol/errmesg.c
interpreters/nitfol/globals.c
interpreters/nitfol/iff.c
interpreters/nitfol/infix.c
interpreters/nitfol/init.c
interpreters/nitfol/io.c
interpreters/nitfol/linkevil.h
interpreters/nitfol/main.c
interpreters/nitfol/nitfol.h
interpreters/nitfol/objects.c
interpreters/nitfol/op_call.c
interpreters/nitfol/op_jmp.c
interpreters/nitfol/op_math.c
interpreters/nitfol/op_save.c
interpreters/nitfol/op_table.c
interpreters/nitfol/op_v6.c
interpreters/nitfol/oplist.c
interpreters/nitfol/opt2glkc.pl
interpreters/nitfol/portfunc.c
interpreters/nitfol/quetzal.c
interpreters/nitfol/solve.c
interpreters/nitfol/sound.c
interpreters/nitfol/stack.c
interpreters/nitfol/struct.c
interpreters/nitfol/tokenise.c
interpreters/nitfol/undo.c
interpreters/nitfol/z_io.c
interpreters/nitfol/zscii.c

index bff9572ffd8c677aac651ceaef53751ebd624c8a..f454f726acf7f2db471c6af5a4de78c226a784a0 100644 (file)
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index ffb5168aea400d58e1b200824b1499655e460a81..81f2f14b2db1f736c9b7c804602b8803188054b8 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index cb4a20e6d2ba5ff6bb8b2953098254918499cd52..2e99d8dafcc8062341ca95966cf7544d8c264928 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 /*
index f40739593b664e8f6ddb7f097a4f4981d1e79d1a..5804d7f4758e936a5747b9693627e49714fe9732 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index c5598180b354ea091ba2fb82e20377f798ca7538..85b13c9d2e17693ec93b168682a21f9f26b68017 100644 (file)
@@ -189,53 +189,45 @@ void os_init_screen(void)
        glk_stylehint_set(wintype_AllTypes,   style_Preformatted, stylehint_Proportional, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Preformatted, stylehint_Weight, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Preformatted, stylehint_Oblique, 0);
-       glk_stylehint_set(wintype_TextGrid,   style_Preformatted, stylehint_ReverseColor, 1);
 
        /* monob */
        glk_stylehint_set(wintype_AllTypes,   style_Subheader,    stylehint_Proportional, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Subheader,    stylehint_Weight, 1);
        glk_stylehint_set(wintype_AllTypes,   style_Subheader,    stylehint_Oblique, 0);
-       glk_stylehint_set(wintype_TextGrid,   style_Subheader,    stylehint_ReverseColor, 1);
 
        /* monoi */
        glk_stylehint_set(wintype_AllTypes,   style_Alert,        stylehint_Proportional, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Alert,        stylehint_Weight, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Alert,        stylehint_Oblique, 1);
-       glk_stylehint_set(wintype_TextGrid,   style_Alert,        stylehint_ReverseColor, 1);
 
        /* monoz */
        glk_stylehint_set(wintype_AllTypes,   style_BlockQuote,   stylehint_Proportional, 0);
        glk_stylehint_set(wintype_AllTypes,   style_BlockQuote,   stylehint_Weight, 1);
        glk_stylehint_set(wintype_AllTypes,   style_BlockQuote,   stylehint_Oblique, 1);
-       glk_stylehint_set(wintype_TextGrid,   style_BlockQuote,   stylehint_ReverseColor, 1);
 
        /* propr */
        glk_stylehint_set(wintype_TextBuffer, style_Normal,       stylehint_Proportional, 1);
        glk_stylehint_set(wintype_TextGrid,   style_Normal,       stylehint_Proportional, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Normal,       stylehint_Weight, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Normal,       stylehint_Oblique, 0);
-       glk_stylehint_set(wintype_TextGrid,   style_Normal,       stylehint_ReverseColor, 1);
 
        /* propb */
        glk_stylehint_set(wintype_TextBuffer, style_Header,       stylehint_Proportional, 1);
        glk_stylehint_set(wintype_TextGrid,   style_Header,       stylehint_Proportional, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Header,       stylehint_Weight, 1);
        glk_stylehint_set(wintype_AllTypes,   style_Header,       stylehint_Oblique, 0);
-       glk_stylehint_set(wintype_TextGrid,   style_Header,       stylehint_ReverseColor, 1);
 
        /* propi */
        glk_stylehint_set(wintype_TextBuffer, style_Emphasized,   stylehint_Proportional, 1);
        glk_stylehint_set(wintype_TextGrid,   style_Emphasized,   stylehint_Proportional, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Emphasized,   stylehint_Weight, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Emphasized,   stylehint_Oblique, 1);
-       glk_stylehint_set(wintype_TextGrid,   style_Emphasized,   stylehint_ReverseColor, 1);
 
        /* propi */
        glk_stylehint_set(wintype_TextBuffer, style_Note,         stylehint_Proportional, 1);
        glk_stylehint_set(wintype_TextGrid,   style_Note,         stylehint_Proportional, 0);
        glk_stylehint_set(wintype_AllTypes,   style_Note,         stylehint_Weight, 1);
        glk_stylehint_set(wintype_AllTypes,   style_Note,         stylehint_Oblique, 1);
-       glk_stylehint_set(wintype_TextGrid,   style_Note,         stylehint_ReverseColor, 1);
 
        gos_lower = glk_window_open(0, 0, 0, wintype_TextGrid, 0);
        if (!gos_lower)
index 079373bed1162d9b13cbd4a5bfd2e097196e900f..2d72bfdd11ae8f66b690df268ec0b04d26821bfd 100644 (file)
@@ -896,6 +896,10 @@ void z_show_status (void)
        glk_set_window(gos_upper);
        gos_curwin = gos_upper;
 
+#ifdef GARGLK
+       garglk_set_reversevideo(TRUE);
+#endif /* GARGLK */
+
        curx = cury = 1;
        glk_window_move_cursor(gos_upper, 0, 0);
 
index f17ec66a80f1f5e7e15aebdfcd5febbe036a10e6..ced562f2b76e6c3e5a9849156d8160c500e0ee79 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index 4fbbd1e0036590bdc31ff5e23892df384b9dc3ce..671184b54f863e27512088d5f88cf708cba5c64b 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 /*
index 5ff5163230bd4680e55b438dc6168b2c37eb2312..944710f044b7f435874dfb338b3169b40f6f369e 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index a1e86e4570da57861f3f0fe5a4ec4001ba9349ea..ed2108788d8ba830010337a4f5dffdb0f698db74 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index 58c86078b0c10547c6180833451ce6babf17833b..4d9687abc997656975e47281e0a4b77e37c95e99 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index e41a57b577a759238a23ce2fb75bb2ca77661d90..d48a9734041f994818309d35c016b97e9cc8529b 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index 6ea14d89c999abd0648a8b043c5eb29a18c850fe..7eed57a3c370d4e0e52cc9739949fbbd95c5c40f 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index 239e9c43dfa29f378e586364f20c573029c5ae42..6b0703c8928b6b3704c6dcf8d57635da2d1175b6 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index 9c4d63ad5d14a427c795e07ea6ad4948badf8172..0a29d0b5b55372af73eb09b8424791bcb4b563b8 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index 54cef78c60a9f6ad078b31ced9e61e94e6d35593..69e67644db0a465ae09d7a869f53d09c4b45b51d 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index eb3a16366d2d75dca7e7c42c47a6f2f91d15023f..9ec990c48acbdc806f7908cd86a02fb28ae57086 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index 9cccc2c1cb0be5813b07872fa80095f8eabbb50a..fd07b2c14da48cfb1378c48e8cec2ec1f8952c71 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index 3e5c6e0c0980cfb6e39d133093f1a0a057257f43..98356f5d1b44f0410592da1b5a906536d97552c1 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "frotz.h"
index bbed8c42cbe4ee7c7b2f58d5b11d2c25ad72603d..f025600644845224b72869f21d35875083566ae7 100644 (file)
@@ -1,7 +1,7 @@
 # Automatically generate version.h
 MAJOR = 1
 MINOR = 2
-PATCH = 8
+PATCH = 9
 version.h: Makefile.am
        $(AM_V_GEN)echo "// Automatically generated file -- do not edit!" > version.h
        $(AM_V_at)echo "#define GIT_MAJOR" $(MAJOR) >> version.h
index 2462bcf28ee94272e465de7468b7de6dd0a3393d..4161fdd488b6cfcdda821b540f44e134e4681c3b 100644 (file)
@@ -1,6 +1,6 @@
 Git is an interpreter for the Glulx virtual machine. Its homepage is here:\r
 \r
-  http://diden.net/if/git\r
+http://ifarchive.org/indexes/if-archiveXprogrammingXglulxXinterpretersXgit.html\r
 \r
 Git's main goal in life is to be fast. It's about five times faster than Glulxe,\r
 and about twice as fast as Frotz (using the same Inform source compiled for the\r
@@ -14,9 +14,12 @@ between each prompt.
 \r
 Have fun, and let me know what you think!\r
 \r
-  Iain Merrick\r
+  Iain Merrick (Original author)\r
   iain@diden.net\r
 \r
+  David Kinder (Current maintainer)\r
+  davidk.kinder@virgin.net\r
+\r
 --------------------------------------------------------------------------------\r
 \r
 * Building and installing Git\r
@@ -31,7 +34,8 @@ hard, depending on what kind of computer you're using and whether you want Git
 to be able to display graphics and play sounds. To find a suitable Glk library,\r
 look here:\r
 \r
-  http://eblong.com/zarf/glk\r
+http://eblong.com/zarf/glk/\r
+http://ifarchive.org/indexes/if-archiveXprogrammingXglkXimplementations.html\r
 \r
 Exactly how you build and link everything depends on what platform you're on and\r
 which Glk library you're using. The supplied Makefile should work on any Unix\r
@@ -46,8 +50,8 @@ respectively, but I can't guarantee that they're fully up-to-date.
 \r
 It should be possible to build Git with any C compiler, but it works best with\r
 GCC, because that has a non-standard extension that Git can use for a big speed\r
-boost. GCC 2.95 actually generates faster code than GCC 3, so if you have a\r
-choice, use the former. (On OS X, this means compiling with 'gcc2'.)\r
+boost. GCC 2.95 actually generates faster code than later versions, so if you\r
+have a choice, use the former. (On OS X, this means compiling with 'gcc2'.)\r
 \r
 --------------------------------------------------------------------------------\r
 \r
@@ -116,12 +120,9 @@ KB. 256KB is usually enough to store dozens of moves.
 \r
 GCC 3 has bigger problems than I thought. On PowerPC, the direct threading\r
 option results in much slower code; and on x86, terp.c crashes GCC itself if\r
-direct threading is used. Therefore, I recommend that you use GCC 2.95 if\r
-possible. If you only have GCC 3, don't define USE_DIRECT_THREADING, at least\r
-until the compiler bug is fixed.\r
-\r
-Since the previous update, GCC 4 has been released, but I haven't evaluated it\r
-yet. If you want to give it a try, let me know how you get on!\r
+direct threading is used. GCC 4 seems to work, given some very limited testing,\r
+but still results in slow code. Therefore, I recommend that you use GCC 2.95 if\r
+possible. If you only have GCC 3, don't define USE_DIRECT_THREADING.\r
 \r
 Some Glk libraries, such as xglk, can't deal with memory-mapped files. You can\r
 tell that this is happening if Git can open .ulx files, but complains that .blb\r
@@ -130,9 +131,9 @@ your startup file, and make sure you're giving it a file stream rather than a
 memory stream. If you're using the git_unix.c startup file, just make sure\r
 USE_MMAP isn't defined.\r
 \r
-1-byte and 2-byte local variables are not implemented yet. This means git can't\r
-currently play games created with the Superglus system. This will be fixed at\r
-some point.\r
+1-byte and 2-byte local variables are not implemented. This means git can't\r
+play games created with old versions of the Superglus system. As these small\r
+local variables now deprecated, it is unlikely that this will be fixed.\r
 \r
 In the search opcodes, direct keys don't work unless they're exactly 4 bytes\r
 long.\r
@@ -191,6 +192,12 @@ also to Eliuk Blau for tracking down bugs in the memory management opcodes.
 \r
 * Version History\r
 \r
+1.2.9 2011-08-28  Fixed a bug in glkop.c dispatching, to do with optional\r
+                  array arguments, following a similar fix in Glulxe.\r
+                  Glk array and string operations are now checked for memory\r
+                  overflows (though not for ROM writing), following a similar\r
+                  fix in Glulxe.\r
+\r
 1.2.8 2010-08-25  Fixed a problem with 'undo' when compiled as 64 bit,\r
                   contributed by Ben Cressey.\r
                   Fixed a sign problem for the @fceil opcode, following a\r
@@ -267,3 +274,4 @@ also to Eliuk Blau for tracking down bugs in the memory management opcodes.
                   Added gitWithStream() as a workaround for xglk\r
 \r
 1.0   2003-10-18  First public release\r
+\r
index cd1f90e09c4ce2e8a2ac156b4ae7fefaadf91e97..cfb0a9407003d8c3fa6d535411a7b487e80b0947 100644 (file)
@@ -124,6 +124,7 @@ extern void startProgram (size_t cacheSize, enum IOMode ioMode);
 extern int git_init_dispatch();
 extern glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist);
 extern strid_t git_find_stream_by_id(glui32 id);
+extern glui32 git_find_id_for_stream(strid_t str);
 
 // git_search.c
 
index f8c7ff08f696b734075ce8aeb67d2ee6f0d450bb..fa5b0299888a93a246e2656e7890da97c98b59c0 100644 (file)
@@ -277,6 +277,16 @@ glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist)
        directly -- instead of bothering with the whole prototype 
        mess. */
 
+  case 0x0047: /* stream_set_current */
+    if (numargs != 1)
+      goto WrongArgNum;
+    glk_stream_set_current(git_find_stream_by_id(arglist[0]));
+    break;
+  case 0x0048: /* stream_get_current */
+    if (numargs != 0)
+      goto WrongArgNum;
+    retval = git_find_id_for_stream(glk_stream_get_current());
+    break;
   case 0x0080: /* put_char */
     if (numargs != 1)
       goto WrongArgNum;
@@ -297,6 +307,16 @@ glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist)
       goto WrongArgNum;
     retval = glk_char_to_upper(arglist[0] & 0xFF);
     break;
+  case 0x0128: /* put_char_uni */
+    if (numargs != 1)
+      goto WrongArgNum;
+    glk_put_char_uni(arglist[0]);
+    break;
+  case 0x012B: /* put_char_stream_uni */
+    if (numargs != 2)
+      goto WrongArgNum;
+    glk_put_char_stream_uni(git_find_stream_by_id(arglist[0]), arglist[1]);
+    break;
 
   WrongArgNum:
     fatalError("Wrong number of arguments to Glk function.");
@@ -306,7 +326,7 @@ glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist)
     /* Go through the full dispatcher prototype foo. */
     char *proto, *cx;
     dispatch_splot_t splot;
-    int argnum;
+    int argnum, argnum2;
 
     /* Grab the string. */
     proto = gidispatch_prototype(funcnum);
@@ -335,9 +355,11 @@ glui32 git_perform_glk(glui32 funcnum, glui32 numargs, glui32 *arglist)
     gidispatch_call(funcnum, argnum, splot.garglist);
 
     /* Phase 3. */
-    argnum = 0;
+    argnum2 = 0;
     cx = proto;
-    unparse_glk_args(&splot, &cx, 0, &argnum, 0, 0);
+    unparse_glk_args(&splot, &cx, 0, &argnum2, 0, 0);
+    if (argnum != argnum2)
+      fatalError("Argument counts did not match.");
 
     break;
   }
@@ -560,6 +582,12 @@ static void parse_glk_args(dispatch_splot_t *splot, char **proto, int depth,
 
         switch (typeclass) {
         case 'C':
+          /* This test checks for a giant array length, and cuts it down to
+             something reasonable. Future releases of this interpreter may
+             treat this case as a fatal error. */
+          if (varglist[ix+1] > gEndMem || varglist[ix]+varglist[ix+1] > gEndMem)
+            varglist[ix+1] = gEndMem - varglist[ix];
+
           garglist[gargnum].array = (void*) AddressOfArray(varglist[ix]);
           gargnum++;
           ix++;
@@ -568,6 +596,10 @@ static void parse_glk_args(dispatch_splot_t *splot, char **proto, int depth,
           cx++;
           break;
         case 'I':
+          /* See comment above. */
+          if (varglist[ix+1] > gEndMem/4 || varglist[ix+1] > (gEndMem-varglist[ix])/4)
+              varglist[ix+1] = (gEndMem - varglist[ix]) / 4;
+
           garglist[gargnum].array = CaptureIArray(varglist[ix], varglist[ix+1], passin);
           gargnum++;
           ix++;
@@ -679,6 +711,8 @@ static void parse_glk_args(dispatch_splot_t *splot, char **proto, int depth,
       }
       else {
         cx++;
+        if (isarray)
+          ix++;
       }
     }    
   }
@@ -885,6 +919,8 @@ static void unparse_glk_args(dispatch_splot_t *splot, char **proto, int depth,
       }
       else {
         cx++;
+        if (isarray)
+          ix++;
       }
     }    
   }
@@ -916,6 +952,21 @@ strid_t git_find_stream_by_id(glui32 objid)
   return classes_get(1, objid);
 }
 
+/* find_id_for_stream():
+   The converse of find_stream_by_id(). 
+   This is only needed in this file, so it's static.
+*/
+glui32 git_find_id_for_stream(strid_t str)
+{
+  gidispatch_rock_t objrock;
+
+  if (!str)
+    return 0;
+
+  objrock = gidispatch_get_objrock(str, 1);
+  return ((classref_t *)objrock.ptr)->id;
+}
+
 /* Build a hash table to hold a set of Glk objects. */
 static classtable_t *new_classtable(glui32 firstid)
 {
index 870b4f11fef8d9cde3683bde5bf1a3c5db533ae6..d157826ce309290fcbcc9e026e17dcbf7f4f28d2 100644 (file)
@@ -38,29 +38,29 @@ Opcode* gOpcodeTable;
 
 int floatCompare(git_sint32 L1, git_sint32 L2, git_sint32 L3)
 {
-  git_float F1, F2;\r
-\r
-  if (((L3 & 0x7F800000) == 0x7F800000) && ((L3 & 0x007FFFFF) != 0))\r
-    return 0;\r
-  if ((L1 == 0x7F800000 || L1 == 0xFF800000) && (L2 == 0x7F800000 || L2 == 0xFF800000))\r
-    return (L1 == L2);\r
-\r
-  F1 = DECODE_FLOAT(L2) - DECODE_FLOAT(L1);\r
-  F2 = fabs(DECODE_FLOAT(L3));\r
-  return ((F1 <= F2) && (F1 >= -F2));\r
+  git_float F1, F2;
+
+  if (((L3 & 0x7F800000) == 0x7F800000) && ((L3 & 0x007FFFFF) != 0))
+    return 0;
+  if ((L1 == 0x7F800000 || L1 == 0xFF800000) && (L2 == 0x7F800000 || L2 == 0xFF800000))
+    return (L1 == L2);
+
+  F1 = DECODE_FLOAT(L2) - DECODE_FLOAT(L1);
+  F2 = fabs(DECODE_FLOAT(L3));
+  return ((F1 <= F2) && (F1 >= -F2));
 }
 
-#ifdef USE_OWN_POWF\r
-float git_powf(float x, float y)\r
-{\r
-  if (x == 1.0f)\r
-    return 1.0f;\r
-  else if ((y == 0.0f) || (y == -0.0f))\r
-    return 1.0f;\r
-  else if ((x == -1.0f) && isinf(y))\r
-    return 1.0f;\r
-  return powf(x,y);\r
-}\r
+#ifdef USE_OWN_POWF
+float git_powf(float x, float y)
+{
+  if (x == 1.0f)
+    return 1.0f;
+  else if ((y == 0.0f) || (y == -0.0f))
+    return 1.0f;
+  else if ((x == -1.0f) && isinf(y))
+    return 1.0f;
+  return powf(x,y);
+}
 #endif
 
 // -------------------------------------------------------------
@@ -231,7 +231,12 @@ do_enter_function_L1: // Arg count is in L2.
         L6 = memRead8(L1++); // LocalType
         L5 = memRead8(L1++); // LocalCount
         if (L6 != 4 && L6 != 0) // We only support 4-byte locals.
-            fatalError("Local variable wasn't 4 bytes wide");
+        {
+            if (L6 == 1 || L6 == 2)
+                fatalError("Short local variables are not supported, use Glulxe");
+            else
+                fatalError("Local variable wasn't 4 bytes wide");
+        }
         L4 += L5; // Cumulative local count.
     }
     while (L5 != 0);
@@ -330,7 +335,7 @@ do_enter_function_L1: // Arg count is in L2.
     PEEPHOLE_STORE(fadd,    F1 = DECODE_FLOAT(L1) + DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1));
     PEEPHOLE_STORE(fsub,    F1 = DECODE_FLOAT(L1) - DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1));
     PEEPHOLE_STORE(fmul,    F1 = DECODE_FLOAT(L1) * DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1));
-    PEEPHOLE_STORE(fdiv,    F1 = DECODE_FLOAT(L1) / DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1));\r
+    PEEPHOLE_STORE(fdiv,    F1 = DECODE_FLOAT(L1) / DECODE_FLOAT(L2); S1 = ENCODE_FLOAT(F1));
 
 #define PEEPHOLE_LOAD(tag,reg) \
     do_ ## tag ## _ ## reg ## _const: reg = READ_PC; goto do_ ## tag; \
@@ -1323,124 +1328,124 @@ do_tailcall:
         
     // Floating point (new with glulx spec 3.1.2)
 
-    do_numtof:\r
-        F1 = (git_float) L1;\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_ftonumz:\r
-        F1 = DECODE_FLOAT(L1);\r
-        if (!signbit(F1)) {\r
-          if (isnan(F1) || isinf(F1) || (F1 > 2147483647.0))\r
-            S1 = 0x7FFFFFFF;\r
-          else\r
-            S1 = (git_sint32) truncf(F1);\r
-        } else {\r
-          if (isnan(F1) || isinf(F1) || (F1 < -2147483647.0))\r
-            S1 = 0x80000000;\r
-          else\r
-            S1 = (git_sint32) truncf(F1);\r
-        }\r
-        NEXT;\r
-\r
-    do_ftonumn:\r
-        F1 = DECODE_FLOAT(L1);\r
-        if (!signbit(F1)) {\r
-          if (isnan(F1) || isinf(F1) || (F1 > 2147483647.0))\r
-            S1 = 0x7FFFFFFF;\r
-          else\r
-            S1 = (git_sint32) roundf(F1);\r
-        } else {\r
-          if (isnan(F1) || isinf(F1) || (F1 < -2147483647.0))\r
-            S1 = 0x80000000;\r
-          else\r
-            S1 = (git_sint32) roundf(F1);\r
-        }\r
-        NEXT;\r
-\r
-    do_ceil:\r
-        F1 = ceilf(DECODE_FLOAT(L1));\r
-        L2 = ENCODE_FLOAT(F1);\r
-        if ((L2 == 0x0) || (L2 == 0x80000000))\r
-          L2 = L1 & 0x80000000;\r
-        S1 = L2;\r
-        NEXT;\r
-\r
-    do_floor:\r
-        F1 = floorf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_sqrt:\r
-        F1 = sqrtf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_exp:\r
-        F1 = expf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_log:\r
-        F1 = logf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_pow:\r
-#ifdef USE_OWN_POWF\r
-        F1 = git_powf(DECODE_FLOAT(L1), DECODE_FLOAT(L2));\r
-#else\r
-        F1 = powf(DECODE_FLOAT(L1), DECODE_FLOAT(L2));\r
-#endif\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_atan2:\r
-        F1 = atan2f(DECODE_FLOAT(L1), DECODE_FLOAT(L2));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_fmod:\r
-        F1 = DECODE_FLOAT(L1);\r
-        F2 = DECODE_FLOAT(L2);\r
-        F3 = fmodf(F1, F2);\r
-        F4 = (F1 - F3) / F2;\r
-        L4 = ENCODE_FLOAT(F4);\r
-        if ((L4 == 0) || (L4 == 0x80000000))\r
-          L4 = (L1 ^ L2) & 0x80000000;\r
-        S1 = ENCODE_FLOAT(F3);\r
-        S2 = L4;\r
-        NEXT;\r
-\r
-    do_sin:\r
-        F1 = sinf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_cos:\r
-        F1 = cosf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_tan:\r
-        F1 = tanf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_asin:\r
-        F1 = asinf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_acos:\r
-        F1 = acosf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
-\r
-    do_atan:\r
-        F1 = atanf(DECODE_FLOAT(L1));\r
-        S1 = ENCODE_FLOAT(F1);\r
-        NEXT;\r
+    do_numtof:
+        F1 = (git_float) L1;
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_ftonumz:
+        F1 = DECODE_FLOAT(L1);
+        if (!signbit(F1)) {
+          if (isnan(F1) || isinf(F1) || (F1 > 2147483647.0))
+            S1 = 0x7FFFFFFF;
+          else
+            S1 = (git_sint32) truncf(F1);
+        } else {
+          if (isnan(F1) || isinf(F1) || (F1 < -2147483647.0))
+            S1 = 0x80000000;
+          else
+            S1 = (git_sint32) truncf(F1);
+        }
+        NEXT;
+
+    do_ftonumn:
+        F1 = DECODE_FLOAT(L1);
+        if (!signbit(F1)) {
+          if (isnan(F1) || isinf(F1) || (F1 > 2147483647.0))
+            S1 = 0x7FFFFFFF;
+          else
+            S1 = (git_sint32) roundf(F1);
+        } else {
+          if (isnan(F1) || isinf(F1) || (F1 < -2147483647.0))
+            S1 = 0x80000000;
+          else
+            S1 = (git_sint32) roundf(F1);
+        }
+        NEXT;
+
+    do_ceil:
+        F1 = ceilf(DECODE_FLOAT(L1));
+        L2 = ENCODE_FLOAT(F1);
+        if ((L2 == 0x0) || (L2 == 0x80000000))
+          L2 = L1 & 0x80000000;
+        S1 = L2;
+        NEXT;
+
+    do_floor:
+        F1 = floorf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_sqrt:
+        F1 = sqrtf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_exp:
+        F1 = expf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_log:
+        F1 = logf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_pow:
+#ifdef USE_OWN_POWF
+        F1 = git_powf(DECODE_FLOAT(L1), DECODE_FLOAT(L2));
+#else
+        F1 = powf(DECODE_FLOAT(L1), DECODE_FLOAT(L2));
+#endif
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_atan2:
+        F1 = atan2f(DECODE_FLOAT(L1), DECODE_FLOAT(L2));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_fmod:
+        F1 = DECODE_FLOAT(L1);
+        F2 = DECODE_FLOAT(L2);
+        F3 = fmodf(F1, F2);
+        F4 = (F1 - F3) / F2;
+        L4 = ENCODE_FLOAT(F4);
+        if ((L4 == 0) || (L4 == 0x80000000))
+          L4 = (L1 ^ L2) & 0x80000000;
+        S1 = ENCODE_FLOAT(F3);
+        S2 = L4;
+        NEXT;
+
+    do_sin:
+        F1 = sinf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_cos:
+        F1 = cosf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_tan:
+        F1 = tanf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_asin:
+        F1 = asinf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_acos:
+        F1 = acosf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
+
+    do_atan:
+        F1 = atanf(DECODE_FLOAT(L1));
+        S1 = ENCODE_FLOAT(F1);
+        NEXT;
 
     // Special Git opcodes
     
index ed0e7aba6278e921e7423a9be42aa8a2267dc43c..184ed51d876ce44d592475aa1c7666ef56115238 100644 (file)
@@ -1,4 +1,4 @@
 // Automatically generated file -- do not edit!
 #define GIT_MAJOR 1
 #define GIT_MINOR 2
-#define GIT_PATCH 8
+#define GIT_PATCH 9
index 38779a2d788443d4e8eb1bed9c4cfbad0ea201d5..f4fa2057990fb35aa8eb5fe237d21e70ea990026 100644 (file)
@@ -3,22 +3,14 @@
     http://eblong.com/zarf/glulx/index.html
 */
 
-#include <string.h>
 #include "glk.h"
 #include "glulxe.h"
 #include "glkstart.h" /* This comes with the Glk library. */
+#include <string.h>
 
-/* The only command-line argument is the filename. And the profiling switch,
-   if that's compiled in. The only *two* command-line arguments are... 
-*/
+/* The only command-line argument is the filename. */
 glkunix_argumentlist_t glkunix_arguments[] = {
-
-#if VM_PROFILING
-  { "--profile", glkunix_arg_ValueFollows, "Generate profiling information to a file." },
-#endif /* VM_PROFILING */
-
   { "", glkunix_arg_ValueFollows, "filename: The game file to load." },
-
   { NULL, glkunix_arg_End, NULL }
 };
 
@@ -26,64 +18,35 @@ int glkunix_startup_code(glkunix_startup_t *data)
 {
   /* It turns out to be more convenient if we return TRUE from here, even 
      when an error occurs, and display an error in glk_main(). */
-  int ix;
-  char *filename = NULL;
+  char *cx;
   unsigned char buf[12];
   int res;
 
 #ifdef GARGLK
-  char *cx;
   garglk_set_program_name("Glulxe 0.4.7");
   garglk_set_program_info("Glulxe 0.4.7 by Andrew Plotkin");
 #endif
 
-  /* Parse out the arguments. They've already been checked for validity,
-     and the library-specific ones stripped out.
-     As usual for Unix, the zeroth argument is the executable name. */
-  for (ix=1; ix<data->argc; ix++) {
-
-#if VM_PROFILING
-    if (!strcmp(data->argv[ix], "--profile")) {
-      ix++;
-      if (ix<data->argc) {
-        strid_t profstr = glkunix_stream_open_pathname_gen(data->argv[ix], TRUE, FALSE, 1);
-        if (!profstr) {
-          init_err = "Unable to open profile output file.";
-          init_err2 = data->argv[ix];
-          return TRUE;
-        }
-        setup_profile(profstr, NULL);
-      }
-      continue;
-    }
-#endif /* VM_PROFILING */
-
-    if (filename) {
-      init_err = "You must supply exactly one game file.";
-      return TRUE;
-    }
-    filename = data->argv[ix];
-  }
-
-  if (!filename) {
+  if (data->argc <= 1) {
     init_err = "You must supply the name of a game file.";
 #ifdef GARGLK
     return TRUE; /* Hack! but I want error message in glk window */
 #endif
        return FALSE;
   }
+  cx = data->argv[1];
     
-  gamefile = glkunix_stream_open_pathname(filename, FALSE, 1);
+  gamefile = glkunix_stream_open_pathname(cx, FALSE, 1);
   if (!gamefile) {
     init_err = "The game file could not be opened.";
-    init_err2 = filename;
+    init_err2 = cx;
     return TRUE;
   }
 
 #ifdef GARGLK
-  cx = strrchr(filename, '/');
-  if (!cx) cx = strrchr(filename, '\\');
-  garglk_set_story_name(cx ? cx + 1 : filename);
+  cx = strrchr(data->argv[1], '/');
+  if (!cx) cx = strrchr(data->argv[1], '\\');
+  garglk_set_story_name(cx ? cx + 1 : data->argv[1]);
 #endif
 
   /* Now we have to check to see if it's a Blorb file. */
index b2647b901050487f1414155b1f90740cc430106d..bb5c83210901312cb6a940f8efb4939b4646e2b0 100644 (file)
@@ -14,7 +14,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 2163a762c784441ea7437ad703186abb7008e16f..ea980eef588340e8f67337ed3b6523402f3a5b2c 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 7f31eacdf3ce183b00a632fae00451f4d7791770..2c9eb3bf6975d3d85bc98654c4e9b84ef94e226d 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index a49332e48f7cfb4fa9b83294723a4859f7417534..d69fefacdd00784707dc0af0abca7bc9a62ba3a7 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index fa85d2bb755dd69abd173d851448193e6783b692..3e332210d304c04ac09030f6a822655a89d52b1d 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 4fcfe41547abaf4acd10864299b16109f22fc6ae..dc0ba817eb6b5bced08e448cf9b4930af8f2143f 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 47b208d9664ce5550970aa11c6b38d2a465495aa..f31da359deca4d8be1a5f3c9bfa31d5401efb2b8 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 6196d408b0e1978c52e5df74a5ab2f1720047942..23b94ac21c5381fd9fee9b454ab192ac916b72ca 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index ee297990d92fe0317514dbce72c0bfd11fde64da..41d62f335a32a2e580cb6678dfd7d9e069ed4a14 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index df65116218995d53e74ac05599aaefd1db47abaf..6ba1aa816a9af377094d7ff0a5efd1d109dece5f 100644 (file)
@@ -14,7 +14,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at ecr+@andrew.cmu.edu
 */
index ce0ceacc949528b71c544b761238486f31363cf0..79e42bd0273ad0b8b69748649f7962c50b087113 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 319a5360c0787652354f0f9418fc5172f9c0ef1d..1b753cb5d6947679ffd70680a90c44e56ff2d62f 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 185a7810500c431e27ce5d4d75ee283cdfbadddf..1ae964b8161978d031aa629dbd9e20d509cbffcb 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index ebedf4f452f7eb432dfb84a51b66c2131eb6774a..d6db12dcdd8978063df7f8e1cb5a78779c0cc07b 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 9da59de4a85ff7504a636f3896b35506fcdc1bb1..4a36996760a1bfa968cb377d758e7cae62ad7943 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 923bcde0d887a8a092037cdb1a84c94bc9ed371a..b2fb4d23da155a1750b5c296da116c1b2e3abde2 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 1ccef3274af3e10f87b0ddcffc390d7d91551c42..573334d6a9fb52d0b40d64e6262225e0bcdee314 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 9c2e54ccbb9041853914bf81610b855daf097da0..aa0d722401d645b10ffdc5dde829fc0250f5f0f3 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index b641c3af6485db5da9ffcca2410c796acd27edb7..fbecba834e8b2659e3ed282454ac978e3056ac08 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 454e02adc6f9c8ab05b4bb13da59726d9921bfb0..4bc567600c419d7dccf3e1e77fd294b3c320dde5 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 6f60a644270b437fa54fc64553cafa7eef329307..0a5f2557efe9701b91b07d89313a1d184510c668 100644 (file)
@@ -36,7 +36,7 @@ my $configname = "configname = \"${dirsep}.${appname}rc\";";
 #
 #  You should have received a copy of the GNU General Public License
 #  along with this program; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 #  The author can be reached at nitfol@my-deja.com
 
index 9c5c552da5aebd18128f92463fb923f30b660f0c..9a444b6b57fa273e51f8c899ee5e79b014b5d65f 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 0ddbf3630041b689dfb835e245514c2f6841c90b..7fd27dadaa7e8037bfcee2f624aec7e7a4290b4a 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 33a3e30799856c8528b5a9cbdac4ad5dc252fbd3..97999067dda627a74c63292c4e2b9a75e8d58fb0 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 763afcdd72c449dd0fc2819c104896af5de48d77..4d79cbfa4d6043efe2090f14a52a9d5df7465003 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 08195c2094739e0b9c70b87d301efb74c19dad8e..3b9320997cec700d77910653d8ec4819b99cbe42 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index c0a58cfd5dda1bda3d817f2444e5d44995803bc1..6108b471d81bb52f61b47e20e84ac94ac010d7e4 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 7db9db658db18629cf2d41b04b0cf0b405b95469..e32387b9e4e6045d36a76e62ca0af5769f6e60cc 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index 3f2cb225a92069f1ef6ca8b723ce386685407d31..5a98da95540fe99c41f9a55b7a08078b394c69a1 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index a06fb5afb7e0c97f68b32717a219cc0397480fea..f7bcbbf3546e99c60990370c63e9f4d70f205998 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */
index f7c12d49f5f295963bb36e4eee463d5f54aab7ae..0beb9bf349dc8d337dc0b00f120b4a3fdcf4be40 100644 (file)
@@ -13,7 +13,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
     The author can be reached at nitfol@deja.com
 */