X-Git-Url: https://git.stderr.nl/gitweb?p=projects%2Fchimara%2Fchimara.git;a=blobdiff_plain;f=libchimara%2Fstream.c;h=46a2efc5cb077b8af39d54c86427d1c497178490;hp=0b1e2d8952c8fe34c0d638fe1094a4aba0ed1e28;hb=1e0dc5378f314f555e3b923c6d95f5017abd528b;hpb=b52bdc5cb7ecd5674a3f40cdd50de615289a583e diff --git a/libchimara/stream.c b/libchimara/stream.c index 0b1e2d8..46a2efc 100644 --- a/libchimara/stream.c +++ b/libchimara/stream.c @@ -10,14 +10,14 @@ #include #include "chimara-glk-private.h" -extern GPrivate *glk_data_key; +extern GPrivate glk_data_key; /* Internal function: create a stream with a specified rock value */ strid_t stream_new_common(glui32 rock) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); - + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); + strid_t str = g_new0(struct glk_stream_struct, 1); str->magic = MAGIC_STREAM; str->rock = rock; @@ -36,7 +36,7 @@ stream_new_common(glui32 rock) void stream_close_common(strid_t str, stream_result_t *result) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); if(glk_data->unregister_obj) { @@ -85,7 +85,7 @@ glk_stream_iterate(strid_t str, glui32 *rockptr) { VALID_STREAM_OR_NULL(str, return NULL); - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); GList *retnode; if(str == NULL) @@ -131,8 +131,8 @@ glk_stream_set_current(strid_t str) { VALID_STREAM_OR_NULL(str, return); - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); - + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); + if(str != NULL && str->file_mode == filemode_Read) { ILLEGAL("Cannot set current stream to non output stream"); @@ -152,7 +152,7 @@ glk_stream_set_current(strid_t str) strid_t glk_stream_get_current() { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); return glk_data->current_stream; } @@ -167,7 +167,7 @@ glk_stream_get_current() void glk_put_char(unsigned char ch) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); VALID_STREAM(glk_data->current_stream, return); glk_put_char_stream(glk_data->current_stream, ch); } @@ -183,7 +183,7 @@ glk_put_char(unsigned char ch) void glk_put_char_uni(glui32 ch) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); VALID_STREAM(glk_data->current_stream, return); glk_put_char_stream_uni(glk_data->current_stream, ch); } @@ -203,7 +203,7 @@ glk_put_char_uni(glui32 ch) void glk_put_string(char *s) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); VALID_STREAM(glk_data->current_stream, return); glk_put_string_stream(glk_data->current_stream, s); } @@ -219,7 +219,7 @@ glk_put_string(char *s) void glk_put_string_uni(glui32 *s) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); VALID_STREAM(glk_data->current_stream, return); glk_put_string_stream_uni(glk_data->current_stream, s); } @@ -240,7 +240,7 @@ glk_put_string_uni(glui32 *s) void glk_put_buffer(char *buf, glui32 len) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); VALID_STREAM(glk_data->current_stream, return); glk_put_buffer_stream(glk_data->current_stream, buf, len); } @@ -256,7 +256,7 @@ glk_put_buffer(char *buf, glui32 len) void glk_put_buffer_uni(glui32 *buf, glui32 len) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); VALID_STREAM(glk_data->current_stream, return); glk_put_buffer_stream_uni(glk_data->current_stream, buf, len); } @@ -292,7 +292,7 @@ glk_stream_open_memory(char *buf, glui32 buflen, glui32 fmode, glui32 rock) if(buf && buflen) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); str->buffer = buf; str->buflen = buflen; if(glk_data->register_arr) @@ -331,7 +331,7 @@ glk_stream_open_memory_uni(glui32 *buf, glui32 buflen, glui32 fmode, glui32 rock if(buf && buflen) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); str->ubuffer = buf; str->buflen = buflen; if(glk_data->register_arr) @@ -637,7 +637,7 @@ glk_stream_close(strid_t str, stream_result_t *result) case STREAM_TYPE_MEMORY: { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); if(glk_data->unregister_arr) { if(str->unicode)