Defined glui32 and glsi32 in terms of the 32-bit integer types in <stdint.h>, instead...
authorfliep <fliep@ddfedd41-794f-dd11-ae45-00112f111e67>
Thu, 21 May 2009 13:14:11 +0000 (13:14 +0000)
committerfliep <fliep@ddfedd41-794f-dd11-ae45-00112f111e67>
Thu, 21 May 2009 13:14:11 +0000 (13:14 +0000)
src/Makefile.am
src/gestalt.c
src/glk.h
src/gridtest.c

index 4f05a5b66399fafee9d1302171863ddf4398abe1..ace6c6bd1dcfea84ac1c5dd5cef5a0cda80880ed 100644 (file)
@@ -43,19 +43,15 @@ pkglib_LTLIBRARIES = first.la model.la gridtest.la splittest.la
 PLUGIN_LIBTOOL_FLAGS=-module -avoid-version -export-symbols-regex "^glk_main$$"
 
 first_la_SOURCES = first.c
-first_la_CFLAGS = @GLIB_CFLAGS@
 first_la_LDFLAGS = $(PLUGIN_LIBTOOL_FLAGS)
 
 model_la_SOURCES = model.c
-model_la_CFLAGS = @GLIB_CFLAGS@
 model_la_LDFLAGS = $(PLUGIN_LIBTOOL_FLAGS)
 
 gridtest_la_SOURCES = gridtest.c
-gridtest_la_CFLAGS = @GLIB_CFLAGS@
 gridtest_la_LDFLAGS = $(PLUGIN_LIBTOOL_FLAGS)
 
 splittest_la_SOURCES = splittest.c
-splittest_la_CFLAGS = @GLIB_CFLAGS@
 splittest_la_LDFLAGS = $(PLUGIN_LIBTOOL_FLAGS)
 
 CLEANFILES = chimara.ui
index 4b3b19c0a3e5af913fdd06b75dea46c78062c0d9..5add1c3ba1dd4bbff7eb8403b9ddfe92c2f99308 100644 (file)
@@ -1,3 +1,4 @@
+#include <stddef.h> /* Surprisingly, the only symbol needed is NULL */
 #include "glk.h"
 
 /* Version of the Glk specification implemented by this library */
index f1c5b3a8f9b70ac22492cd67d7f5af277e157d00..6b64f88b3347eb04bc68f7a67908b8e26ef6a15a 100644 (file)
--- a/src/glk.h
+++ b/src/glk.h
@@ -17,9 +17,9 @@
 /* You may have to edit the definition of glui32 to make sure it's really a
     32-bit unsigned integer type, and glsi32 to make sure it's really a
     32-bit signed integer type. If they're not, horrible things will happen. */
-#include <glib.h>
-typedef guint32 glui32;
-typedef gint32 glsi32;
+#include <stdint.h>
+typedef uint32_t glui32;
+typedef int32_t glsi32;
 
 /* These are the compile-time conditionals that reveal various Glk optional
     modules. */
index 4c59f1dda068aa9ac7cbb02ee62a3fc23b17e674..cec6004344bd8c74d32a158f996b2ca70145859d 100644 (file)
@@ -1,5 +1,7 @@
 #include <stdio.h>
 #include <string.h>
+#include <stdlib.h>
+#include <assert.h>
 #include "glk.h"
 
 void glk_main(void)
@@ -17,7 +19,7 @@ void glk_main(void)
     for(count = 0; count < 30; count++)
         glk_put_string("I want to write past the end of this text buffer! ");
     
-    guint32 width, height;
+    glui32 width, height;
     glk_window_get_size(mainwin, &width, &height);
     fprintf(stderr, "\nWidth: %d\nHeight: %d\nPress a key in the window, not in the terminal.\n", width, height);
     glk_request_char_event(mainwin);
@@ -43,7 +45,8 @@ void glk_main(void)
             break;
     }
     
-    gchar *buffer = g_malloc0(256);
+    char *buffer = calloc(256, sizeof(char));
+    assert(buffer);
     
     fprintf(stderr, "Line input field until end of line\n");
     glk_window_move_cursor(mainwin, 10, 20);
@@ -63,9 +66,12 @@ void glk_main(void)
             break;
     }
     
-       gchar *text = g_strndup(buffer, ev.val1);
+       char *text = calloc(ev.val1 + 1, sizeof(char));
+       assert(text);
+       strncpy(text, buffer, ev.val1);
+       text[ev.val1] = '\0';
     fprintf(stderr, "Your string was: '%s'.\nPress another key to clear the window and exit.\n", text);
-       g_free(text);
+       free(text);
     glk_request_char_event(mainwin);
     while(1) {
         glk_select(&ev);
@@ -74,5 +80,5 @@ void glk_main(void)
     }
     
     glk_window_clear(mainwin);
-    g_free(buffer);
+    free(buffer);
 }