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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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
  *
  * 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"
  */
 
 #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_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);
 
        /* 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);
 
        /* 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);
 
        /* 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);
 
        /* 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);
 
        /* 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);
 
        /* 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);
 
        /* 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)
 
        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;
 
        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);
 
        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
  *
  * 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"
  */
 
 #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
  *
  * 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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #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
  *
  * 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"
  */
 
 #include "frotz.h"
index bbed8c42cbe4ee7c7b2f58d5b11d2c25ad72603d..f025600644845224b72869f21d35875083566ae7 100644 (file)
@@ -1,7 +1,7 @@
 # Automatically generate version.h
 MAJOR = 1
 MINOR = 2
 # 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
 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
 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
 \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
 \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
   iain@diden.net\r
 \r
+  David Kinder (Current maintainer)\r
+  davidk.kinder@virgin.net\r
+\r
 --------------------------------------------------------------------------------\r
 \r
 * Building and installing Git\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
 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
 \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
 \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
 \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
 \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
 \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
 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
 \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
 \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
 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
                   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 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
 
 
 // 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. */
 
        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;
   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;
       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.");
 
   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;
     /* 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);
 
     /* 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. */
     gidispatch_call(funcnum, argnum, splot.garglist);
 
     /* Phase 3. */
-    argnum = 0;
+    argnum2 = 0;
     cx = proto;
     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;
   }
 
     break;
   }
@@ -560,6 +582,12 @@ static void parse_glk_args(dispatch_splot_t *splot, char **proto, int depth,
 
         switch (typeclass) {
         case 'C':
 
         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++;
           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':
           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++;
           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++;
       }
       else {
         cx++;
+        if (isarray)
+          ix++;
       }
     }    
   }
       }
     }    
   }
@@ -885,6 +919,8 @@ static void unparse_glk_args(dispatch_splot_t *splot, char **proto, int depth,
       }
       else {
         cx++;
       }
       else {
         cx++;
+        if (isarray)
+          ix++;
       }
     }    
   }
       }
     }    
   }
@@ -916,6 +952,21 @@ strid_t git_find_stream_by_id(glui32 objid)
   return classes_get(1, 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)
 {
 /* 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)
 {
 
 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
 
 // -------------------------------------------------------------
 #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.
         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);
         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(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; \
 
 #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)
 
         
     // 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
     
 
     // 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
 // 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
 */
 
     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 "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[] = {
 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." },
   { "", glkunix_arg_ValueFollows, "filename: The game file to load." },
-
   { NULL, glkunix_arg_End, NULL }
 };
 
   { 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(). */
 {
   /* 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
   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
 
   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;
   }
     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.";
   if (!gamefile) {
     init_err = "The game file could not be opened.";
-    init_err2 = filename;
+    init_err2 = cx;
     return TRUE;
   }
 
 #ifdef GARGLK
     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. */
 #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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 #
 #  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
 
 #
 #  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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     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
 
     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
 */
 
     The author can be reached at nitfol@deja.com
 */