summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2013-04-19 19:12:14 -0400
committerColin Walters <walters@verbum.org>2013-04-19 19:13:06 -0400
commita09072bd1f75dfc7497ed599e03e331bff411fd4 (patch)
tree9eefe6a0332f426c7b825eec746a8598cf0f14e1
parent80a13ef73bbb32c85e00ff8e7870a5d4723c2196 (diff)
downloadgobject-introspection-a09072bd1f75dfc7497ed599e03e331bff411fd4.tar.gz
tests: Add a struct with fixed-size gchar
See https://bugzilla.redhat.com/920595
-rw-r--r--tests/scanner/Regress-1.0-expected.gir21
-rw-r--r--tests/scanner/regress.c8
-rw-r--r--tests/scanner/regress.h7
3 files changed, 36 insertions, 0 deletions
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 2d8091b5..0dadc59c 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -1946,6 +1946,27 @@ exposed to language bindings.</doc>
<type name="gdouble" c:type="double"/>
</field>
</record>
+ <record name="LikeXklConfigItem" c:type="RegressLikeXklConfigItem">
+ <field name="name" writable="1">
+ <array zero-terminated="0" c:type="gchar" fixed-size="32">
+ <type name="gchar" c:type="gchar"/>
+ </array>
+ </field>
+ <method name="set_name"
+ c:identifier="regress_like_xkl_config_item_set_name">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="LikeXklConfigItem" c:type="RegressLikeXklConfigItem*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
<constant name="MAXUINT64"
value="18446744073709551615"
c:type="REGRESS_MAXUINT64">
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index f54c2f91..d32c52be 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -4007,3 +4007,11 @@ void
regress_test_versioning (void)
{
}
+
+void
+regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
+ const char *name)
+{
+ strncpy (self->name, name, sizeof (self->name) - 1);
+ self->name[sizeof(self->name)-1] = '\0';
+}
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index ba82ca83..adc05dbc 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -905,6 +905,13 @@ typedef struct {
void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray *str);
+typedef struct {
+ gchar name[32];
+} RegressLikeXklConfigItem;
+
+void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
+ const char *name);
+
#define REGRESS_UTF8_CONSTANT "const \xe2\x99\xa5 utf8"
#ifdef __GNUC__