-static char * get_message_from_queue()
-{
- char * message = NULL;
- if (world.queue_size)
- {
- size_t cutout_len = strlen(world.queue);
- uint8_t is_nullbyte_chunk = !cutout_len;
- if (0 < cutout_len)
- {
- cutout_len++;
- message = try_malloc(cutout_len, __func__);
- memcpy(message, world.queue, cutout_len);
- }
- for (;
- cutout_len != world.queue_size && '\0' == world.queue[cutout_len];
- cutout_len++);
- world.queue_size = world.queue_size - cutout_len;
- if (0 == world.queue_size)
- {
- free(world.queue); /* NULL so read_file_into_queue() may free() */
- world.queue = NULL; /* this every time, even when it's */
- } /* un-allocated first. */
- else
- {
- char * new_queue = try_malloc(world.queue_size, __func__);
- memcpy(new_queue, &(world.queue[cutout_len]), world.queue_size);
- free(world.queue);
- world.queue = new_queue;
- if (is_nullbyte_chunk)
- {
- return get_message_from_queue();
- }
- }
- }
- return message;
-}
-
-
-
-static void read_file_into_queue()