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
/* 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. */
#include <stdio.h>
#include <string.h>
+#include <stdlib.h>
+#include <assert.h>
#include "glk.h"
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);
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);
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);
}
glk_window_clear(mainwin);
- g_free(buffer);
+ free(buffer);
}