Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:misc
libnih
libnih-dbus-codegen-empty-lists.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File libnih-dbus-codegen-empty-lists.patch of Package libnih
Author: Stéphane Graber <stgraber@ubuntu.com>, Steve Langasek <steve.langasek@canonical.com> Description: Update dbus code generator to allow for empty lists for type 'as' This drops the != NULL check for NULL terminated arrays and moves the iteration loop inside an 'if' statement. Index: libnih-1.0.3/nih-dbus-tool/marshal.c =================================================================== --- libnih-1.0.3.orig/nih-dbus-tool/marshal.c +++ libnih-1.0.3/nih-dbus-tool/marshal.c @@ -364,6 +364,7 @@ nih_local TypeVar *element_len_var = NULL; nih_local char * block = NULL; nih_local char * vars_block = NULL; + nih_local char * loop_block = NULL; nih_assert (iter != NULL); nih_assert (iter_name != NULL); @@ -448,7 +449,7 @@ nih_list_add (locals, &array_iter_var->entry); if (dbus_type_is_fixed (element_type)) { - if (! nih_strcat_sprintf (&code, parent, + if (! nih_strcat_sprintf (&loop_block, parent, "for (size_t %s = 0; %s < %s; %s++) {\n", loop_name, loop_name, len_name, loop_name)) { nih_free (code); @@ -456,6 +457,12 @@ } } else { if (! nih_strcat_sprintf (&code, parent, + "if (%s) {\n", + name)) { + nih_free (code); + return NULL; + } + if (! nih_strcat_sprintf (&loop_block, parent, "for (size_t %s = 0; %s[%s]; %s++) {\n", loop_name, name, loop_name, loop_name)) { nih_free (code); @@ -576,7 +583,7 @@ } - if (! nih_strcat_sprintf (&code, parent, + if (! nih_strcat_sprintf (&loop_block, parent, "%s" "\n" "%s" @@ -590,9 +597,34 @@ } /* Close the container again */ + if (! nih_strcat_sprintf (&loop_block, parent, + "}\n")) { + nih_free (code); + return NULL; + } + + if (dbus_type_is_fixed (element_type)) { + if (! nih_strcat_sprintf (&code, parent, + "%s\n", loop_block)) { + nih_free (code); + return NULL; + } + } + else { + if (! indent (&loop_block, NULL, 1)) { + nih_free (code); + return NULL; + } + + if (! nih_strcat_sprintf (&code, parent, + "%s" + "}\n\n", loop_block)) { + nih_free (code); + return NULL; + } + } + if (! nih_strcat_sprintf (&code, parent, - "}\n" - "\n" "if (! dbus_message_iter_close_container (&%s, &%s)) {\n" "%s" "}\n", Index: libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_object_function_no_input.c =================================================================== --- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_object_function_no_input.c +++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_object_function_no_input.c @@ -88,17 +88,19 @@ goto enomem; } - for (size_t output_i = 0; output[output_i]; output_i++) { - const char *output_element; + if (output) { + for (size_t output_i = 0; output[output_i]; output_i++) { + const char *output_element; - output_element = output[output_i]; + output_element = output[output_i]; - /* Marshal a char * onto the message */ - if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) { - dbus_message_iter_abandon_container (&iter, &output_iter); - dbus_message_unref (reply); - reply = NULL; - goto enomem; + /* Marshal a char * onto the message */ + if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) { + dbus_message_iter_abandon_container (&iter, &output_iter); + dbus_message_unref (reply); + reply = NULL; + goto enomem; + } } } Index: libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_object_function_standard.c =================================================================== --- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_object_function_standard.c +++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_object_function_standard.c @@ -136,17 +136,19 @@ goto enomem; } - for (size_t output_i = 0; output[output_i]; output_i++) { - const char *output_element; + if (output) { + for (size_t output_i = 0; output[output_i]; output_i++) { + const char *output_element; - output_element = output[output_i]; + output_element = output[output_i]; - /* Marshal a char * onto the message */ - if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) { - dbus_message_iter_abandon_container (&iter, &output_iter); - dbus_message_unref (reply); - reply = NULL; - goto enomem; + /* Marshal a char * onto the message */ + if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) { + dbus_message_iter_abandon_container (&iter, &output_iter); + dbus_message_unref (reply); + reply = NULL; + goto enomem; + } } } Index: libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_reply_function_deprecated.c =================================================================== --- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_reply_function_deprecated.c +++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_reply_function_deprecated.c @@ -7,7 +7,6 @@ DBusMessageIter output_iter; nih_assert (message != NULL); - nih_assert (output != NULL); /* If the sender doesn't care about a reply, don't bother wasting * effort constructing and sending one. @@ -28,16 +27,18 @@ return -1; } - for (size_t output_i = 0; output[output_i]; output_i++) { - const char *output_element; - - output_element = output[output_i]; - - /* Marshal a char * onto the message */ - if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) { - dbus_message_iter_abandon_container (&iter, &output_iter); - dbus_message_unref (reply); - return -1; + if (output) { + for (size_t output_i = 0; output[output_i]; output_i++) { + const char *output_element; + + output_element = output[output_i]; + + /* Marshal a char * onto the message */ + if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) { + dbus_message_iter_abandon_container (&iter, &output_iter); + dbus_message_unref (reply); + return -1; + } } } Index: libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_reply_function_standard.c =================================================================== --- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_reply_function_standard.c +++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_reply_function_standard.c @@ -7,7 +7,6 @@ DBusMessageIter output_iter; nih_assert (message != NULL); - nih_assert (output != NULL); /* If the sender doesn't care about a reply, don't bother wasting * effort constructing and sending one. @@ -28,16 +27,18 @@ return -1; } - for (size_t output_i = 0; output[output_i]; output_i++) { - const char *output_element; - - output_element = output[output_i]; - - /* Marshal a char * onto the message */ - if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) { - dbus_message_iter_abandon_container (&iter, &output_iter); - dbus_message_unref (reply); - return -1; + if (output) { + for (size_t output_i = 0; output[output_i]; output_i++) { + const char *output_element; + + output_element = output[output_i]; + + /* Marshal a char * onto the message */ + if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) { + dbus_message_iter_abandon_container (&iter, &output_iter); + dbus_message_unref (reply); + return -1; + } } } Index: libnih-1.0.3/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c =================================================================== --- libnih-1.0.3.orig/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c +++ libnih-1.0.3/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c @@ -14185,6 +14185,57 @@ } + /* Check that we can pass a NULL pointer for the array. + */ + TEST_FEATURE ("with NULL array pointer"); + TEST_ALLOC_FAIL { + dbus_error_init (&dbus_error); + dbus_bus_add_match (client_conn, "type='signal'", &dbus_error); + assert (! dbus_error_is_set (&dbus_error)); + dbus_error_free (&dbus_error); + + ret = my_test_emit_new_str_array (server_conn, + "/com/netsplit/Nih/Test", + NULL); + + if (test_alloc_failed) { + TEST_LT (ret, 0); + + dbus_error_init (&dbus_error); + dbus_bus_remove_match (client_conn, "type='signal'", + &dbus_error); + assert (! dbus_error_is_set (&dbus_error)); + dbus_error_free (&dbus_error); + + continue; + } + + dbus_connection_flush (server_conn); + + TEST_DBUS_MESSAGE (client_conn, signal); + TEST_TRUE (dbus_message_is_signal ( + signal, "com.netsplit.Nih.Test", "NewStrArray")); + TEST_EQ_STR (dbus_message_get_signature (signal), + (DBUS_TYPE_ARRAY_AS_STRING + DBUS_TYPE_STRING_AS_STRING)); + + dbus_message_iter_init (signal, &iter); + + dbus_message_iter_recurse (&iter, &subiter); + + TEST_EQ (dbus_message_iter_get_arg_type (&subiter), + DBUS_TYPE_INVALID); + + dbus_message_unref (signal); + + dbus_error_init (&dbus_error); + dbus_bus_remove_match (client_conn, "type='signal'", + &dbus_error); + assert (! dbus_error_is_set (&dbus_error)); + dbus_error_free (&dbus_error); + } + + /* Check that we can give an empty array consisting of just the * NULL pointer. */ Index: libnih-1.0.3/nih-dbus-tool/tests/test_marshal.c =================================================================== --- libnih-1.0.3.orig/nih-dbus-tool/tests/test_marshal.c +++ libnih-1.0.3/nih-dbus-tool/tests/test_marshal.c @@ -1479,39 +1479,41 @@ "\treturn -1;\n" "}\n" "\n" - "for (size_t value_i = 0; value[value_i]; value_i++) {\n" - "\tDBusMessageIter value_element_iter;\n" - "\tconst int16_t * value_element;\n" - "\tsize_t value_element_len;\n" + "if (value) {\n" + "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n" + "\t\tDBusMessageIter value_element_iter;\n" + "\t\tconst int16_t * value_element;\n" + "\t\tsize_t value_element_len;\n" "\n" - "\tvalue_element = value[value_i];\n" - "\tvalue_element_len = value_len[value_i];\n" + "\t\tvalue_element = value[value_i];\n" + "\t\tvalue_element_len = value_len[value_i];\n" "\n" - "\t/* Marshal an array onto the message */\n" - "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"n\", &value_element_iter)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" + "\t\t/* Marshal an array onto the message */\n" + "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"n\", &value_element_iter)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\n" - "\tfor (size_t value_element_i = 0; value_element_i < value_element_len; value_element_i++) {\n" - "\t\tint16_t value_element_element;\n" + "\t\tfor (size_t value_element_i = 0; value_element_i < value_element_len; value_element_i++) {\n" + "\t\t\tint16_t value_element_element;\n" "\n" - "\t\tvalue_element_element = value_element[value_element_i];\n" + "\t\t\tvalue_element_element = value_element[value_element_i];\n" "\n" - "\t\t/* Marshal a int16_t onto the message */\n" - "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_INT16, &value_element_element)) {\n" - "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" + "\t\t\t/* Marshal a int16_t onto the message */\n" + "\t\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_INT16, &value_element_element)) {\n" + "\t\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" + "\t\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\t\treturn -1;\n" + "\t\t\t}\n" + "\t\t}\n" + "\n" + "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n" "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" "\t\t\treturn -1;\n" "\t\t}\n" - "\t}\n" - "\n" - "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" + "\t}\n" "}\n" "\n" "if (! dbus_message_iter_close_container (&iter, &value_iter)) {\n" @@ -1766,15 +1768,17 @@ "\treturn -1;\n" "}\n" "\n" - "for (size_t value_i = 0; value[value_i]; value_i++) {\n" - "\tconst char *value_element;\n" + "if (value) {\n" + "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n" + "\t\tconst char *value_element;\n" "\n" - "\tvalue_element = value[value_i];\n" + "\t\tvalue_element = value[value_i];\n" "\n" - "\t/* Marshal a char * onto the message */\n" - "\tif (! dbus_message_iter_append_basic (&value_iter, DBUS_TYPE_STRING, &value_element)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" + "\t\t/* Marshal a char * onto the message */\n" + "\t\tif (! dbus_message_iter_append_basic (&value_iter, DBUS_TYPE_STRING, &value_element)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\t}\n" "}\n" "\n" @@ -1933,35 +1937,39 @@ "\treturn -1;\n" "}\n" "\n" - "for (size_t value_i = 0; value[value_i]; value_i++) {\n" - "\tDBusMessageIter value_element_iter;\n" - "\tchar * const * value_element;\n" + "if (value) {\n" + "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n" + "\t\tDBusMessageIter value_element_iter;\n" + "\t\tchar * const * value_element;\n" "\n" - "\tvalue_element = value[value_i];\n" + "\t\tvalue_element = value[value_i];\n" "\n" - "\t/* Marshal an array onto the message */\n" - "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"s\", &value_element_iter)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" - "\n" - "\tfor (size_t value_element_i = 0; value_element[value_element_i]; value_element_i++) {\n" - "\t\tconst char *value_element_element;\n" + "\t\t/* Marshal an array onto the message */\n" + "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"s\", &value_element_iter)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\n" - "\t\tvalue_element_element = value_element[value_element_i];\n" + "\t\tif (value_element) {\n" + "\t\t\tfor (size_t value_element_i = 0; value_element[value_element_i]; value_element_i++) {\n" + "\t\t\t\tconst char *value_element_element;\n" + "\n" + "\t\t\t\tvalue_element_element = value_element[value_element_i];\n" + "\n" + "\t\t\t\t/* Marshal a char * onto the message */\n" + "\t\t\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_element)) {\n" + "\t\t\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" + "\t\t\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\t\t\treturn -1;\n" + "\t\t\t\t}\n" + "\t\t\t}\n" + "\t\t}\n" "\n" - "\t\t/* Marshal a char * onto the message */\n" - "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_element)) {\n" - "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" + "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n" "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" "\t\t\treturn -1;\n" "\t\t}\n" "\t}\n" - "\n" - "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" "}\n" "\n" "if (! dbus_message_iter_close_container (&iter, &value_iter)) {\n" @@ -2194,16 +2202,18 @@ "\treturn -1;\n" "}\n" "\n" - "for (size_t value_item2_i = 0; value_item2[value_item2_i]; value_item2_i++) {\n" - "\tconst char *value_item2_element;\n" + "if (value_item2) {\n" + "\tfor (size_t value_item2_i = 0; value_item2[value_item2_i]; value_item2_i++) {\n" + "\t\tconst char *value_item2_element;\n" "\n" - "\tvalue_item2_element = value_item2[value_item2_i];\n" + "\t\tvalue_item2_element = value_item2[value_item2_i];\n" "\n" - "\t/* Marshal a char * onto the message */\n" - "\tif (! dbus_message_iter_append_basic (&value_item2_iter, DBUS_TYPE_STRING, &value_item2_element)) {\n" - "\t\tdbus_message_iter_abandon_container (&value_iter, &value_item2_iter);\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" + "\t\t/* Marshal a char * onto the message */\n" + "\t\tif (! dbus_message_iter_append_basic (&value_item2_iter, DBUS_TYPE_STRING, &value_item2_element)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_item2_iter);\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\t}\n" "}\n" "\n" @@ -2642,41 +2652,43 @@ "\treturn -1;\n" "}\n" "\n" - "for (size_t value_i = 0; value[value_i]; value_i++) {\n" - "\tDBusMessageIter value_element_iter;\n" - "\tconst char * value_element_item0;\n" - "\tuint32_t value_element_item1;\n" - "\tconst MyStructArrayValueElement *value_element;\n" + "if (value) {\n" + "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n" + "\t\tDBusMessageIter value_element_iter;\n" + "\t\tconst char * value_element_item0;\n" + "\t\tuint32_t value_element_item1;\n" + "\t\tconst MyStructArrayValueElement *value_element;\n" "\n" - "\tvalue_element = value[value_i];\n" + "\t\tvalue_element = value[value_i];\n" "\n" - "\t/* Marshal a structure onto the message */\n" - "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_STRUCT, NULL, &value_element_iter)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" + "\t\t/* Marshal a structure onto the message */\n" + "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_STRUCT, NULL, &value_element_iter)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\n" - "\tvalue_element_item0 = value_element->item0;\n" + "\t\tvalue_element_item0 = value_element->item0;\n" "\n" - "\t/* Marshal a char * onto the message */\n" - "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n" - "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" + "\t\t/* Marshal a char * onto the message */\n" + "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\n" - "\tvalue_element_item1 = value_element->item1;\n" + "\t\tvalue_element_item1 = value_element->item1;\n" "\n" - "\t/* Marshal a uint32_t onto the message */\n" - "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n" - "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" + "\t\t/* Marshal a uint32_t onto the message */\n" + "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\n" - "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" + "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\t}\n" "}\n" "\n" @@ -2912,41 +2924,43 @@ "\treturn -1;\n" "}\n" "\n" - "for (size_t value_i = 0; value[value_i]; value_i++) {\n" - "\tDBusMessageIter value_element_iter;\n" - "\tconst char * value_element_item0;\n" - "\tuint32_t value_element_item1;\n" - "\tconst MyDictEntryArrayValueElement *value_element;\n" + "if (value) {\n" + "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n" + "\t\tDBusMessageIter value_element_iter;\n" + "\t\tconst char * value_element_item0;\n" + "\t\tuint32_t value_element_item1;\n" + "\t\tconst MyDictEntryArrayValueElement *value_element;\n" "\n" - "\tvalue_element = value[value_i];\n" + "\t\tvalue_element = value[value_i];\n" "\n" - "\t/* Marshal a structure onto the message */\n" - "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_DICT_ENTRY, NULL, &value_element_iter)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" + "\t\t/* Marshal a structure onto the message */\n" + "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_DICT_ENTRY, NULL, &value_element_iter)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\n" - "\tvalue_element_item0 = value_element->item0;\n" + "\t\tvalue_element_item0 = value_element->item0;\n" "\n" - "\t/* Marshal a char * onto the message */\n" - "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n" - "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" + "\t\t/* Marshal a char * onto the message */\n" + "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\n" - "\tvalue_element_item1 = value_element->item1;\n" + "\t\tvalue_element_item1 = value_element->item1;\n" "\n" - "\t/* Marshal a uint32_t onto the message */\n" - "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n" - "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" - "\t}\n" + "\t\t/* Marshal a uint32_t onto the message */\n" + "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\n" - "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n" - "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" - "\t\treturn -1;\n" + "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n" + "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n" + "\t\t\treturn -1;\n" + "\t\t}\n" "\t}\n" "}\n" "\n" Index: libnih-1.0.3/nih-dbus-tool/type.c =================================================================== --- libnih-1.0.3.orig/nih-dbus-tool/type.c +++ libnih-1.0.3/nih-dbus-tool/type.c @@ -1101,7 +1101,7 @@ nih_assert (block != NULL); nih_assert (var != NULL); - if (! strchr (var->type, '*')) + if (! strchr (var->type, '*') || ! strcmp (var->type, "char * const *")) return *block; if (next && (! strcmp (next->type, "size_t"))) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor