SGEN_ASSERT (0, file_size_limit > 0, "Indexed binary protocol filename must only be used with file size limit");
- filename = sgen_alloc_internal_dynamic (strlen (filename_or_prefix) + 32, INTERNAL_MEM_BINARY_PROTOCOL, TRUE);
+ filename = (char *)sgen_alloc_internal_dynamic (strlen (filename_or_prefix) + 32, INTERNAL_MEM_BINARY_PROTOCOL, TRUE);
sprintf (filename, "%s.%d", filename_or_prefix, index);
return filename;
break; /* Failed */
} while (binary_protocol_file == -1);
+ if (binary_protocol_file == -1)
+ g_error ("sgen binary protocol: failed to open file");
+
if (file_size_limit > 0)
free_filename (filename);
}
binary_protocol_init (const char *filename, long long limit)
{
#ifdef HAVE_UNISTD_H
- filename_or_prefix = sgen_alloc_internal_dynamic (strlen (filename) + 1, INTERNAL_MEM_BINARY_PROTOCOL, TRUE);
+ filename_or_prefix = (char *)sgen_alloc_internal_dynamic (strlen (filename) + 1, INTERNAL_MEM_BINARY_PROTOCOL, TRUE);
strcpy (filename_or_prefix, filename);
file_size_limit = limit;
binary_protocol_open_file ();
+#else
+ g_error ("sgen binary protocol: not supported");
#endif
}
for (buf = binary_protocol_buffers; buf != NULL; buf = buf->next)
++num_buffers;
- bufs = sgen_alloc_internal_dynamic (num_buffers * sizeof (BinaryProtocolBuffer*), INTERNAL_MEM_BINARY_PROTOCOL, TRUE);
+ bufs = (BinaryProtocolBuffer **)sgen_alloc_internal_dynamic (num_buffers * sizeof (BinaryProtocolBuffer*), INTERNAL_MEM_BINARY_PROTOCOL, TRUE);
for (buf = binary_protocol_buffers, i = 0; buf != NULL; buf = buf->next, i++)
bufs [i] = buf;
SGEN_ASSERT (0, i == num_buffers, "Binary protocol buffer count error");
if (buffer && buffer->index + length <= BINARY_PROTOCOL_BUFFER_SIZE)
return buffer;
- new_buffer = sgen_alloc_os_memory (sizeof (BinaryProtocolBuffer), SGEN_ALLOC_INTERNAL | SGEN_ALLOC_ACTIVATE, "debugging memory");
+ new_buffer = (BinaryProtocolBuffer *)sgen_alloc_os_memory (sizeof (BinaryProtocolBuffer), (SgenAllocFlags)(SGEN_ALLOC_INTERNAL | SGEN_ALLOC_ACTIVATE), "debugging memory");
new_buffer->next = buffer;
new_buffer->index = 0;
int __size = sizeof (PROTOCOL_STRUCT(method)); \
CLIENT_PROTOCOL_NAME (method) (f1, f2, f3, f4, f5, f6);
-#define FLUSH() \
- binary_protocol_flush_buffers (FALSE);
-
#define DEFAULT_PRINT()
#define CUSTOM_PRINT(_)
protocol_entry (__type, __data, __size); \
}
+#define END_PROTOCOL_ENTRY_FLUSH \
+ protocol_entry (__type, __data, __size); \
+ binary_protocol_flush_buffers (FALSE); \
+ }
+
#ifdef SGEN_HEAVY_BINARY_PROTOCOL
#define BEGIN_PROTOCOL_ENTRY_HEAVY0(method) \
BEGIN_PROTOCOL_ENTRY0 (method)