#endif
};
+/* Make sure the layout of GMappedFile is the same as GBuffer's */
+G_STATIC_ASSERT (G_STRUCT_OFFSET (GMappedFile, contents) ==
+ G_STRUCT_OFFSET (GBuffer, data));
+G_STATIC_ASSERT (G_STRUCT_OFFSET (GMappedFile, length) ==
+ G_STRUCT_OFFSET (GBuffer, size));
+G_STATIC_ASSERT (G_STRUCT_OFFSET (GMappedFile, ref_count) ==
+ G_STRUCT_OFFSET (GBuffer, ref_count));
+G_STATIC_ASSERT (G_STRUCT_OFFSET (GMappedFile, free_func) ==
+ G_STRUCT_OFFSET (GBuffer, free_func));
+
static void
g_mapped_file_destroy (GMappedFile *file)
{
g_return_val_if_fail (filename != NULL, NULL);
g_return_val_if_fail (!error || *error == NULL, NULL);
- g_assert (G_STRUCT_OFFSET (GMappedFile, contents) ==
- G_STRUCT_OFFSET (GBuffer, data));
- g_assert (G_STRUCT_OFFSET (GMappedFile, length) ==
- G_STRUCT_OFFSET (GBuffer, size));
- g_assert (G_STRUCT_OFFSET (GMappedFile, ref_count) ==
- G_STRUCT_OFFSET (GBuffer, ref_count));
- g_assert (G_STRUCT_OFFSET (GMappedFile, free_func) ==
- G_STRUCT_OFFSET (GBuffer, free_func));
-
fd = g_open (filename, (writable ? O_RDWR : O_RDONLY) | _O_BINARY, 0);
if (fd == -1)
{
gsize magic;
};
+G_STATIC_ASSERT (sizeof (struct stack_iter) <= sizeof (GVariantIter));
+
struct heap_iter
{
struct stack_iter iter;
g_variant_iter_init (GVariantIter *iter,
GVariant *value)
{
- g_assert (sizeof (struct stack_iter) <= sizeof (GVariantIter));
-
GVSI(iter)->magic = GVSI_MAGIC;
GVSI(iter)->value = value;
GVSI(iter)->n = g_variant_n_children (value);
gsize magic;
};
+G_STATIC_ASSERT (sizeof (struct stack_builder) <= sizeof (GVariantBuilder));
+
struct heap_builder
{
GVariantBuilder builder;
g_return_if_fail (type != NULL);
g_return_if_fail (g_variant_type_is_container (type));
- g_assert (sizeof (struct stack_builder) <= sizeof (GVariantBuilder));
memset (builder, 0, sizeof (GVariantBuilder));
GVSB(builder)->type = g_variant_type_copy (type);
}
}
+/* The code below assumes this */
+G_STATIC_ASSERT (sizeof (gboolean) == sizeof (guint32));
+G_STATIC_ASSERT (sizeof (gdouble) == sizeof (guint64));
+
static void
g_variant_valist_get_leaf (const gchar **str,
GVariant *value,
case 'u':
case 'h':
case 'b':
- g_assert (sizeof (gboolean) == sizeof (guint32));
*(guint32 *) ptr = 0;
return;
case 'x':
case 't':
case 'd':
- g_assert (sizeof (gdouble) == sizeof (guint64));
*(guint64 *) ptr = 0;
return;
}