X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=src%2Fgridtest.c;fp=src%2Fgridtest.c;h=cec6004344bd8c74d32a158f996b2ca70145859d;hb=aa4120fb3479bcd17f69c0c1cffea4fc9107975b;hp=4c59f1dda068aa9ac7cbb02ee62a3fc23b17e674;hpb=e962e1889909fd7c4e89b8f613d15457987bcbc6;p=rodin%2Fchimara.git diff --git a/src/gridtest.c b/src/gridtest.c index 4c59f1d..cec6004 100644 --- a/src/gridtest.c +++ b/src/gridtest.c @@ -1,5 +1,7 @@ #include #include +#include +#include #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); }