Commit Graph

22556 Commits

Author SHA1 Message Date
Niels De Graef
f98f2c5d0f gtestutils: Add g_assert_cmpstrv()
Add a test util function that helps asserting two string arrays are the
same, and which adds some useful information if they're not.

Fixes: #2015
2020-11-14 18:17:19 +00:00
Philip Withnall
1c290acd74 Merge branch 'gio-missing-nullable' into 'master'
gio: Add missing nullable annotations

See merge request GNOME/glib!1708
2020-11-14 15:53:55 +00:00
Sebastian Dröge
fbfb067375 Document that the get_default() functions for the various GIO modules will never return NULL 2020-11-14 17:32:41 +02:00
Sebastian Dröge
ec9fb90b2b Mark g_subprocess_get_std{in,out,err}_pipe() return value as nullable
Previously it was considered a programming error to call these on
subprocesses created without the correct flags, but for bindings this
distinction is difficult to handle automatically.

Returning NULL instead does not cause any inconsistent behaviour and
simplifies the API.
2020-11-14 17:32:41 +02:00
Philip Withnall
c97827c353 Merge branch 'fix_warnings' into 'master'
Fix signedness warnings

See merge request GNOME/glib!1699
2020-11-14 11:51:55 +00:00
Philip Withnall
332bc1708e Merge branch 'fix_more_warnings' into 'master'
Fix more warnings

See merge request GNOME/glib!1740
2020-11-14 11:44:45 +00:00
Sebastian Dröge
ddef9ba2f8 Merge branch 'instantiatable' into 'master'
gobject: Standardise on the term ‘instantiatable’

See merge request GNOME/glib!1735
2020-11-13 15:29:07 +00:00
Sebastian Dröge
e4721dfff5 Merge branch 'coverity-return-values' into 'master'
Fix minor Coverity return value warnings

See merge request GNOME/glib!1748
2020-11-13 15:24:47 +00:00
Philip Withnall
43d984464d gtestutils: Mark a return value as explicitly ignored
We can’t do anything differently based on whether removing a file fails.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Coverity CID: #1354857
2020-11-13 14:12:49 +00:00
Philip Withnall
895da99694 fuzzing: Fix minor Coverity warning about return values
ftell() could theoretically fail; handle that.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Coverity CID: #1430667
2020-11-13 14:12:18 +00:00
Emmanuel Fleury
e7c1b2a484 Fixing missing initializer warnings in glib/tests/mainloop.c
glib/tests/mainloop.c:55:1: error: missing initializer for field ‘closure_callback’ of ‘GSourceFuncs’ {aka ‘struct _GSourceFuncs’}
   55 | };
      | ^
In file included from glib/giochannel.h:33,
                 from glib/glib.h:54,
                 from glib/tests/mainloop.c:23:
glib/gmain.h:276:19: note: ‘closure_callback’ declared here
  276 |   GSourceFunc     closure_callback;
      |                   ^~~~~~~~~~~~~~~~
glib/tests/mainloop.c:422:1: error: missing initializer for field ‘closure_callback’ of ‘GSourceFuncs’ {aka ‘struct _GSourceFuncs’}
  422 | };
      | ^
In file included from glib/giochannel.h:33,
                 from glib/glib.h:54,
                 from glib/tests/mainloop.c:23:
glib/gmain.h:276:19: note: ‘closure_callback’ declared here
  276 |   GSourceFunc     closure_callback;
      |                   ^~~~~~~~~~~~~~~~
glib/tests/mainloop.c: In function ‘test_ready_time’:
glib/tests/mainloop.c:946:3: error: missing initializer for field ‘finalize’ of ‘GSourceFuncs’ {aka ‘struct _GSourceFuncs’}
  946 |   };
      |   ^
In file included from glib/giochannel.h:33,
                 from glib/glib.h:54,
                 from glib/tests/mainloop.c:23:
glib/gmain.h:272:14: note: ‘finalize’ declared here
  272 |   void     (*finalize) (GSource    *source); /* Can be NULL */
      |              ^~~~~~~~
glib/tests/mainloop.c: In function ‘test_unref_while_pending’:
glib/tests/mainloop.c:1088:3: error: missing initializer for field ‘closure_callback’ of ‘GSourceFuncs’ {aka ‘struct _GSourceFuncs’}
 1088 |   static GSourceFuncs funcs = { trivial_prepare, NULL, NULL, trivial_finalize };
      |   ^~~~~~
In file included from glib/giochannel.h:33,
                 from glib/glib.h:54,
                 from glib/tests/mainloop.c:23:
glib/gmain.h:276:19: note: ‘closure_callback’ declared here
  276 |   GSourceFunc     closure_callback;
      |                   ^~~~~~~~~~~~~~~~
In file included from glib/glibconfig.h:9,
                 from glib/gtypes.h:32,
                 from glib/galloca.h:32,
                 from glib/glib.h:30,
                 from glib/tests/mainloop.c:23:

glib/tests/mainloop.c: In function ‘test_source_unix_fd_api’:
glib/tests/mainloop.c:1403:3: error: missing initializer for field ‘finalize’ of ‘GSourceFuncs’ {aka ‘struct _GSourceFuncs’}
 1403 |   };
      |   ^
In file included from glib/giochannel.h:33,
                 from glib/glib.h:54,
                 from glib/tests/mainloop.c:23:
glib/gmain.h:272:14: note: ‘finalize’ declared here
  272 |   void     (*finalize) (GSource    *source); /* Can be NULL */
      |              ^~~~~~~~
glib/tests/mainloop.c: At top level:
glib/tests/mainloop.c:1843:1: error: missing initializer for field ‘closure_callback’ of ‘GSourceFuncs’ {aka ‘struct _GSourceFuncs’}
 1843 | };
      | ^
In file included from glib/giochannel.h:33,
                 from glib/glib.h:54,
                 from glib/tests/mainloop.c:23:
glib/gmain.h:276:19: note: ‘closure_callback’ declared here
  276 |   GSourceFunc     closure_callback;
      |                   ^~~~~~~~~~~~~~~~
glib/tests/mainloop.c:1919:1: error: missing initializer for field ‘closure_callback’ of ‘GSourceFuncs’ {aka ‘struct _GSourceFuncs’}
 1919 | };
      | ^
In file included from glib/giochannel.h:33,
                 from glib/glib.h:54,
                 from glib/tests/mainloop.c:23:
glib/gmain.h:276:19: note: ‘closure_callback’ declared here
  276 |   GSourceFunc     closure_callback;
      |                   ^~~~~~~~~~~~~~~~
glib/tests/mainloop.c:2002:1: error: missing initializer for field ‘closure_callback’ of ‘GSourceFuncs’ {aka ‘struct _GSourceFuncs’}
 2002 | };
      | ^
In file included from glib/giochannel.h:33,
                 from glib/glib.h:54,
                 from glib/tests/mainloop.c:23:
glib/gmain.h:276:19: note: ‘closure_callback’ declared here
  276 |   GSourceFunc     closure_callback;
      |                   ^~~~~~~~~~~~~~~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
5444b7e74d Fixing signedness warning in glib/tests/mainloop.c
glib/tests/mainloop.c: In function ‘write_bytes’:
glib/gmacros.h:809:26: error: comparison of integer expressions of different signedness: ‘gssize’ {aka ‘long int’} and ‘long unsigned int’
  809 | #define MIN(a, b)  (((a) < (b)) ? (a) : (b))
      |                          ^
glib/tests/mainloop.c:1146:11: note: in expansion of macro ‘MIN’
 1146 |   limit = MIN (*to_write, sizeof zeros);
      |           ^~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
8045b77c32 Fixing missing initializer warnings in glib/tests/option-context.c
glib/tests/option-context.c: In function ‘callback_test_optional_5’:
glib/tests/option-context.c:945:5: error: missing initializer for field ‘arg_description’ of ‘GOptionEntry’ {aka ‘struct _GOptionEntry’}
  945 |     { { "dummy", 'd', 0, G_OPTION_ARG_NONE, &dummy, NULL },
      |     ^
In file included from glib/glib.h:64,
                 from glib/tests/option-context.c:23:
glib/goption.h:268:16: note: ‘arg_description’ declared here
  268 |   const gchar *arg_description;
      |                ^~~~~~~~~~~~~~~
glib/tests/option-context.c: In function ‘callback_test_optional_6’:
glib/tests/option-context.c:983:5: error: missing initializer for field ‘arg_description’ of ‘GOptionEntry’ {aka ‘struct _GOptionEntry’}
  983 |     { { "dummy", 'd', 0, G_OPTION_ARG_NONE, &dummy, NULL },
      |     ^
In file included from glib/glib.h:64,
                 from glib/tests/option-context.c:23:
glib/goption.h:268:16: note: ‘arg_description’ declared here
  268 |   const gchar *arg_description;
      |                ^~~~~~~~~~~~~~~
glib/tests/option-context.c: In function ‘callback_test_optional_7’:
glib/tests/option-context.c:1021:5: error: missing initializer for field ‘arg_description’ of ‘GOptionEntry’ {aka ‘struct _GOptionEntry’}
 1021 |     { { "dummy", 'd', 0, G_OPTION_ARG_NONE, &dummy, NULL },
      |     ^
In file included from glib/glib.h:64,
                 from glib/tests/option-context.c:23:
glib/goption.h:268:16: note: ‘arg_description’ declared here
  268 |   const gchar *arg_description;
      |                ^~~~~~~~~~~~~~~
glib/tests/option-context.c: In function ‘callback_test_optional_8’:
glib/tests/option-context.c:1059:5: error: missing initializer for field ‘arg_description’ of ‘GOptionEntry’ {aka ‘struct _GOptionEntry’}
 1059 |     { { "dummy", 'd', 0, G_OPTION_ARG_NONE, &dummy, NULL },
      |     ^
In file included from glib/glib.h:64,
                 from glib/tests/option-context.c:23:
glib/goption.h:268:16: note: ‘arg_description’ declared here
  268 |   const gchar *arg_description;
      |                ^~~~~~~~~~~~~~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
913d222c88 Fix ‘static’ is not at beginning of declaration in glib/tests/option-context.c
glib/tests/option-context.c:1335:1: error: ‘static’ is not at beginning of declaration
 1335 | static array_test1 (void)
      | ^~~~~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
75ba0e552d Fix signedness warnings in glib/tests/option-context.c
glib/tests/option-context.c: In function ‘test_group_captions’:
glib/tests/option-context.c:123:21: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  123 |       for (j = 0; j < G_N_ELEMENTS (test_name_base); ++j)
      |                     ^

glib/tests/option-context.c: In function ‘option_context_parse_command_line’:
glib/tests/option-context.c:2364:46: error: operand of ‘?:’ changes signedness from ‘int’ to ‘guint’ {aka ‘unsigned int’} due to unsignedness of other operand
 2364 |   return success ? argv_len - argv_new_len : -1;
      |                                              ^~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
043cf25631 Fix missing initializer warnings in glib/tests/markup-subparser.c
In file included from glib/glib.h:60,
                 from glib/tests/markup-subparser.c:14:
glib/gmarkup.h:161:10: note: ‘text’ declared here
  161 |   void (*text)           (GMarkupParseContext *context,
      |          ^~~~
glib/tests/markup-subparser.c:335:3: error: missing initializer for field ‘error_message’ of ‘TestCase’
  335 |   { "<test/>",                  "<test></test>" },
      |   ^
glib/tests/markup-subparser.c:275:15: note: ‘error_message’ declared here
  275 |   const char *error_message;
      |               ^~~~~~~~~~~~~
glib/tests/markup-subparser.c:336:3: error: missing initializer for field ‘error_message’ of ‘TestCase’
  336 |   { "<sub><foo/></sub>",        "<sub><<{foo}{/foo}>></sub>" },
      |   ^
glib/tests/markup-subparser.c:275:15: note: ‘error_message’ declared here
  275 |   const char *error_message;
      |               ^~~~~~~~~~~~~
glib/tests/markup-subparser.c:337:3: error: missing initializer for field ‘error_message’ of ‘TestCase’
  337 |   { "<sub><foo/><bar/></sub>",  "<sub><<{foo}{/foo}{bar}{/bar}>></sub>" },
      |   ^
glib/tests/markup-subparser.c:275:15: note: ‘error_message’ declared here
  275 |   const char *error_message;
      |               ^~~~~~~~~~~~~
glib/tests/markup-subparser.c:338:3: error: missing initializer for field ‘error_message’ of ‘TestCase’
  338 |   { "<foo><bar/></foo>",        "<foo>[[{foo}{bar}{/bar}{/foo}]]</foo>" },
      |   ^
glib/tests/markup-subparser.c:275:15: note: ‘error_message’ declared here
  275 |   const char *error_message;
      |               ^~~~~~~~~~~~~
glib/tests/markup-subparser.c:339:3: error: missing initializer for field ‘error_message’ of ‘TestCase’
  339 |   { "<foo><x/><y/></foo>",      "<foo>[[{foo}{x}{/x}{y}{/y}{/foo}]]</foo>" },
      |   ^
glib/tests/markup-subparser.c:275:15: note: ‘error_message’ declared here
  275 |   const char *error_message;
      |               ^~~~~~~~~~~~~
glib/tests/markup-subparser.c:340:3: error: missing initializer for field ‘error_message’ of ‘TestCase’
  340 |   { "<foo/>",                   "<foo>[[{foo}{/foo}]]</foo>" },
      |   ^
glib/tests/markup-subparser.c:275:15: note: ‘error_message’ declared here
  275 |   const char *error_message;
      |               ^~~~~~~~~~~~~
glib/tests/markup-subparser.c:342:33: error: missing initializer for field ‘error_message’ of ‘TestCase’
  342 |                                 "<bar>[[{bar}{/bar}]]</bar>" }
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib/tests/markup-subparser.c:275:15: note: ‘error_message’ declared here
  275 |   const char *error_message;
      |               ^~~~~~~~~~~~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
2eb66a2091 Fix missing initializer warning in glib/tests/markup-subparser.c
glib/tests/markup-subparser.c:269:1: error: missing initializer for field ‘text’ of ‘GMarkupParser’ {aka ‘struct _GMarkupParser’}
  269 | };
      | ^
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
7ea05283ac Fix signedness warnings in glib/tests/markup-subparser.c
glib/tests/markup-subparser.c: In function ‘main’:
glib/tests/markup-subparser.c:362:24: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’
  362 |          __add_tests_i < G_N_ELEMENTS (array);                          \
      |                        ^
glib/tests/markup-subparser.c:378:3: note: in expansion of macro ‘add_tests’
  378 |   add_tests (test, "/glib/markup/subparser/success", test_cases);
      |   ^~~~~~~~~
glib/tests/markup-subparser.c:362:24: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’
  362 |          __add_tests_i < G_N_ELEMENTS (array);                          \
      |                        ^
glib/tests/markup-subparser.c:379:3: note: in expansion of macro ‘add_tests’
  379 |   add_tests (test, "/glib/markup/subparser/failure", error_cases);
      |   ^~~~~~~~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
24c60cee6c Fix missing initializer warnings in glib/tests/markup-collect.c
glib/gmarkup.h:154:10: note: ‘end_element’ declared here
  154 |   void (*end_element)    (GMarkupParseContext *context,
      |          ^~~~~~~~~~~
glib/tests/markup-collect.c:94:3: error: missing initializer for field ‘error_code’ of ‘struct test’
   94 |   { "<bool mb='false'/>", "<bool(1) 0 0 -1>" },
      |   ^
glib/tests/markup-collect.c:85:17: note: ‘error_code’ declared here
   85 |   GMarkupError  error_code;
      |                 ^~~~~~~~~~
glib/tests/markup-collect.c:95:3: error: missing initializer for field ‘error_code’ of ‘struct test’
   95 |   { "<bool mb='true'/>", "<bool(1) 1 0 -1>" },
      |   ^
glib/tests/markup-collect.c:85:17: note: ‘error_code’ declared here
   85 |   GMarkupError  error_code;
      |                 ^~~~~~~~~~
glib/tests/markup-collect.c:96:3: error: missing initializer for field ‘error_code’ of ‘struct test’
   96 |   { "<bool mb='t' ob='f' tri='1'/>", "<bool(1) 1 0 1>" },
      |   ^
glib/tests/markup-collect.c:85:17: note: ‘error_code’ declared here
   85 |   GMarkupError  error_code;
      |                 ^~~~~~~~~~
glib/tests/markup-collect.c:97:3: error: missing initializer for field ‘error_code’ of ‘struct test’
   97 |   { "<bool mb='y' ob='n' tri='0'/>", "<bool(1) 1 0 0>" },
      |   ^
glib/tests/markup-collect.c:85:17: note: ‘error_code’ declared here
   85 |   GMarkupError  error_code;
      |                 ^~~~~~~~~~
glib/tests/markup-collect.c:99:3: error: missing initializer for field ‘error_code’ of ‘struct test’
   99 |   { "<bool mb='y' my:attr='q'><my:tag/></bool>", "<bool(1) 1 0 -1>" },
      |   ^
glib/tests/markup-collect.c:85:17: note: ‘error_code’ declared here
   85 |   GMarkupError  error_code;
      |                 ^~~~~~~~~~
glib/tests/markup-collect.c💯3: error: missing initializer for field ‘error_code’ of ‘struct test’
  100 |   { "<bool mb='y' my:attr='q'><my:tag>some <b>text</b> is in here</my:tag></bool>", "<bool(1) 1 0 -1>" },
      |   ^
glib/tests/markup-collect.c:85:17: note: ‘error_code’ declared here
   85 |   GMarkupError  error_code;
      |                 ^~~~~~~~~~
glib/tests/markup-collect.c:111:3: error: missing initializer for field ‘error_code’ of ‘struct test’
  111 |   { "<str cm='x' am='y'/>", "<str(1) x y (null) (null)>" },
      |   ^
glib/tests/markup-collect.c:85:17: note: ‘error_code’ declared here
   85 |   GMarkupError  error_code;
      |                 ^~~~~~~~~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
6c74ab7fcc Fix signedness warning in glib/tests/markup-collect.c
glib/gtestutils.h:134:96: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘GMarkupError’
  134 |                                                if (!err || (err)->domain != dom || (err)->code != c) \
      |                                                                                                ^~
glib/tests/markup-collect.c:168:7: note: in expansion of macro ‘g_assert_error’
  168 |       g_assert_error (error, G_MARKUP_ERROR, test->error_code);
      |       ^~~~~~~~~~~~~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
93dd614562 Fixing missing initializer in glib/test/markup-collect.c
glib/tests/markup-collect.c:79:1: error: missing initializer for field ‘end_element’ of ‘GMarkupParser’ {aka ‘struct _GMarkupParser’}
   79 | static GMarkupParser parser = { start };
      | ^~~~~~

glib/tests/markup-collect.c:198:1: error: missing initializer for field ‘end_element’ of ‘GMarkupParser’ {aka ‘struct _GMarkupParser’}
  198 | };
      | ^
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
2292960690 Fix signedness warning in glib/tests/spawn-multithreaded.c
glib/tests/spawn-multithreaded.c: In function ‘multithreaded_test_run’:
glib/tests/spawn-multithreaded.c:41:17: error: comparison of integer expressions of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned int’}
   41 |   for (i = 0; i < n_threads; i++)
      |                 ^
glib/tests/spawn-multithreaded.c:49:17: error: comparison of integer expressions of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned int’}
   49 |   for (i = 0; i < n_threads; i++)
      |                 ^
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
0c81ed309e Fix missing initializer warnings in glib/tests/gvariant.c
glib/tests/gvariant.c: In function ‘test_lookup_value’:
glib/tests/gvariant.c:4353:5: error: missing initializer for field ‘value’ of ‘struct <anonymous>’
 4353 |     { "@a{ss} {'x':  'y'}",   "y"         },
      |     ^
glib/tests/gvariant.c:4350:31: note: ‘value’ declared here
 4350 |     const gchar *dict, *key, *value;
      |                               ^~~~~
glib/tests/gvariant.c:4355:5: error: missing initializer for field ‘value’ of ‘struct <anonymous>’
 4355 |     { "@a{os} {'/x': 'y'}",   "/y"        },
      |     ^
glib/tests/gvariant.c:4350:31: note: ‘value’ declared here
 4350 |     const gchar *dict, *key, *value;
      |                               ^~~~~
glib/tests/gvariant.c:4358:5: error: missing initializer for field ‘value’ of ‘struct <anonymous>’
 4358 |     { "@a{sv} {'x':  <'y'>}", "y"         }
      |     ^
glib/tests/gvariant.c:4350:31: note: ‘value’ declared here
 4350 |     const gchar *dict, *key, *value;
      |                               ^~~~~
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
43a30e4983 Fix signedness warning in glib/test/tree.c
glib/tests/tree.c: In function ‘test_tree_traverse’:
glib/tests/tree.c:394:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  394 |   for (i = 0; i < G_N_ELEMENTS (orders); i++)
      |                 ^
2020-11-13 10:13:49 +01:00
Emmanuel Fleury
d29270db60 Fix signedness warning in glib/tests/markup-collect.c
glib/tests/markup-collect.c: In function ‘main’:
glib/tests/markup-collect.c:227:17: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’
  227 |   for (i = 0; i < G_N_ELEMENTS (tests); i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
a7fdca46e7 Fix signedness warning in glib/tests/scannerapi.c
glib/tests/scannerapi.c: In function ‘test_scanner_tokens’:
glib/tests/scannerapi.c:124:17: error: comparison of integer expressions of different signedness: ‘guint’ {aka ‘unsigned int’} and ‘gint’ {aka ‘const int’}
  124 |   for (i = 1; i < tokbuflen; i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
cc041eb742 Fix signedness warning in glib/tests/regex.c
glib/tests/regex.c: In function ‘test_match_all’:
glib/tests/regex.c:1317:19: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘guint’ {aka ‘unsigned int’}
 1317 |   if (match_count != g_slist_length (data->expected))
      |                   ^~
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
101a604330 Fix signedness warnings in glib/tests/rcbox.c
glib/tests/rcbox.c: In function ‘test_rcbox_alignment’:
glib/tests/rcbox.c:246:17: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’
  246 |   for (i = 0; i < G_N_ELEMENTS (block_sizes); i++)
      |                 ^
glib/tests/rcbox.c: In function ‘test_atomic_rcbox_alignment’:
glib/tests/rcbox.c:270:17: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’
  270 |   for (i = 0; i < G_N_ELEMENTS (block_sizes); i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
a1758820d7 Fix signedness warnings in glib/tests/queue.c
glib/tests/queue.c: In function ‘check_integrity’:
glib/tests/queue.c:36:15: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘guint’ {aka ‘unsigned int’}
   36 |   g_assert (n == queue->length);
      |               ^~
glib/gmacros.h:939:25: note: in definition of macro ‘G_LIKELY’
  939 | #define G_LIKELY(expr) (expr)
      |                         ^~~~
glib/tests/queue.c:36:3: note: in expansion of macro ‘g_assert’
   36 |   g_assert (n == queue->length);
      |   ^~~~~~~~
glib/tests/queue.c:47:15: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘guint’ {aka ‘unsigned int’}
   47 |   g_assert (n == queue->length);
      |               ^~
glib/gmacros.h:939:25: note: in definition of macro ‘G_LIKELY’
  939 | #define G_LIKELY(expr) (expr)
      |                         ^~~~
glib/tests/queue.c:47:3: note: in expansion of macro ‘g_assert’
   47 |   g_assert (n == queue->length);
      |   ^~~~~~~~
glib/tests/queue.c: In function ‘random_test’:
glib/tests/queue.c:274:36: error: comparison of integer expressions of different signedness: ‘guint’ {aka ‘unsigned int’} and ‘int’
  274 |             g_assert (qinf->length == l);
      |                                    ^~
glib/gmacros.h:939:25: note: in definition of macro ‘G_LIKELY’
  939 | #define G_LIKELY(expr) (expr)
      |                         ^~~~
glib/tests/queue.c:274:13: note: in expansion of macro ‘g_assert’
  274 |             g_assert (qinf->length == l);
      |             ^~~~~~~~
glib/tests/queue.c:419:21: error: comparison of integer expressions of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned int’}
  419 |               if (n == q->length - 1)
      |                     ^~
glib/tests/queue.c:425:31: error: comparison of integer expressions of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned int’}
  425 |               if (n >= 0 && n < q->length)
      |                               ^
glib/tests/queue.c:453:30: error: comparison of integer expressions of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned int’}
  453 |               if (n < 0 || n >= q->length)
      |                              ^~
glib/tests/queue.c:640:21: error: comparison of integer expressions of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned int’}
  640 |               if (n == g_queue_get_length (q) - 1)
      |                     ^~
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
9464721324 Fix signedness warning in glib/tests/protocol.c
glib/tests/protocol.c: In function ‘test_error’:
glib/tests/protocol.c:252:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  252 |   for (i = 0; i < G_N_ELEMENTS (tests); i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
76b84c5f66 Fix signedness warnings in glib/tests/pattern.c
glib/tests/pattern.c: In function ‘main’:
glib/tests/pattern.c:218:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  218 |   for (i = 0; i < G_N_ELEMENTS (compile_tests); i++)
      |                 ^
glib/tests/pattern.c:225:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  225 |   for (i = 0; i < G_N_ELEMENTS (match_tests); i++)
      |                 ^
glib/tests/pattern.c:232:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  232 |   for (i = 0; i < G_N_ELEMENTS (equal_tests); i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
be5d48fe77 Fix various warnings in glib/tests/gvariant.c
glib/tests/gvariant.c: In function ‘append_tuple_type_string’:
glib/tests/gvariant.c:206:17: error: comparison of integer expressions of different signedness: ‘gsize’ {aka ‘long unsigned int’} and ‘gint’ {aka ‘int’}
  206 |   for (i = 0; i < size; i++)
      |                 ^
glib/tests/gvariant.c:210:13: error: comparison of integer expressions of different signedness: ‘gsize’ {aka ‘long unsigned int’} and ‘int’
  210 |       if (i < size - 1)
      |             ^
glib/tests/gvariant.c:223:17: error: comparison of integer expressions of different signedness: ‘gsize’ {aka ‘long unsigned int’} and ‘gint’ {aka ‘int’}
  223 |   for (i = 0; i < size; i++)
      |                 ^
glib/tests/gvariant.c: In function ‘describe_type’:
glib/tests/gvariant.c:386:29: error: comparison of integer expressions of different signedness: ‘gsize’ {aka ‘long unsigned int’} and ‘gint’ {aka ‘int’}
  386 |               for (i = 0; i < length; i++)
      |                             ^
glib/tests/gvariant.c: In function ‘describe_info’:
glib/tests/gvariant.c:882:23: error: comparison of integer expressions of different signedness: ‘gsize’ {aka ‘long unsigned int’} and ‘gint’ {aka ‘int’}
  882 |         for (i = 0; i < length; i++)
      |                       ^
glib/tests/gvariant.c: In function ‘check_offsets’:
glib/tests/gvariant.c:962:21: error: comparison of integer expressions of different signedness: ‘gsize’ {aka ‘long unsigned int’} and ‘gint’ {aka ‘int’}
  962 |       for (i = 0; i < length; i++)
      |                     ^
glib/tests/gvariant.c: In function ‘tree_instance_check_gvariant’:
glib/tests/gvariant.c:2636:44: error: comparison of integer expressions of different signedness: ‘gboolean’ {aka ‘int’} and ‘guint64’ {aka ‘long unsigned int’}
 2636 |       return g_variant_get_boolean (value) == tree->data.integer;
      |                                            ^~
glib/tests/gvariant.c: In function ‘test_varargs’:
glib/tests/gvariant.c:3090:26: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘guint’ {aka ‘unsigned int’}
 3090 |       g_assert_true (val == i++ || val == 0);
      |                          ^~
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
700a9d4042 Fix signedness warnings in glib/tests/once.c
glib/tests/once.c: In function ‘test_once_init_multi_threaded’:
glib/tests/once.c:183:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  183 |   for (i = 0; i < G_N_ELEMENTS (threads); i++)
      |                 ^
glib/tests/once.c:186:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  186 |   for (i = 0; i < G_N_ELEMENTS (threads); i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
d15260ee69 Fix signedness warnings in glib/tests/markup-escape.c
glib/tests/markup-escape.c: In function ‘main’:
glib/tests/markup-escape.c:152:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  152 |   for (i = 0; i < G_N_ELEMENTS (escape_tests); i++)
      |                 ^
../glib.git/glib/tests/markup-escape.c:159:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  159 |   for (i = 0; i < G_N_ELEMENTS (unichar_tests); i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
fbb492b3eb Fix signedness warning in glib/tests/node.c
glib/tests/node.c: In function ‘traversal_test’:
glib/tests/node.c:214:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  214 |   for (i = 0; i < G_N_ELEMENTS (orders); i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
8fc0080b5e Fix signedness warnings in glib/tests/logging.c
glib/tests/logging.c: In function ‘compare_fields’:
glib/tests/logging.c:403:17: error: comparison of integer expressions of different signedness: ‘int’ and ‘gsize’ {aka ‘long unsigned int’}
  403 |   for (i = 0; i < n1; i++)
      |                 ^
glib/tests/logging.c:405:21: error: comparison of integer expressions of different signedness: ‘int’ and ‘gsize’ {aka ‘long unsigned int’}
  405 |       for (j = 0; j < n2; j++)
      |                     ^
glib/tests/logging.c:410:13: error: comparison of integer expressions of different signedness: ‘int’ and ‘gsize’ {aka ‘long unsigned int’}
  410 |       if (j == n2)
      |             ^~
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
b3244bee0c Fix signedness warning in glib/tests/hash.c
glib/tests/hash.c: In function ‘test_hash_misc’:
glib/tests/hash.c:616:43: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘guint’ {aka ‘unsigned int’}
  616 |   if (values_len != keys_len &&  keys_len != g_hash_table_size (hash_table))
      |                                           ^~
2020-11-13 10:12:16 +01:00
Emmanuel Fleury
e801143110 Fix signedness warning in glib/test/tree.c
glib/tests/tree.c: In function ‘test_tree_traverse’:
glib/tests/tree.c:394:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’
  394 |   for (i = 0; i < G_N_ELEMENTS (orders); i++)
      |                 ^
2020-11-13 10:12:16 +01:00
Philip Withnall
a8bc604988 Merge branch 'string-precision-missing-link' into 'master'
Fix broken link syntax in g_vasprintf docs

See merge request GNOME/glib!1747
2020-11-12 17:01:01 +00:00
Michael McClurg
234a8cdea0 Fix broken link syntax in g_vasprintf 2020-11-12 03:25:58 +00:00
Sebastian Dröge
e2fbb74301 Assert that GFileIcon::file is always set after construction 2020-11-11 13:15:24 +02:00
Sebastian Dröge
705a59a315 gio: Add missing nullable annotations 2020-11-11 13:15:21 +02:00
Philip Withnall
b8927cc6ad Merge branch 'wip/tingping/guri-normalize' into 'master'
guri: Normalize uri segments if they are encoded and add a flag to do scheme-based normalization

See merge request GNOME/glib!1716
2020-11-09 11:43:42 +00:00
Patrick Griffis
9da213ea34 docs: Add note about uri normalization for equality 2020-11-06 15:32:17 -06:00
Patrick Griffis
64f478dca3 guri: Add G_URI_FLAGS_SCHEME_NORMALIZE
This flag enables optional scheme-defined normalization
during parsing of a URI.
2020-11-06 15:32:17 -06:00
Philip Withnall
c1a11c02e5 Merge branch 'master' into 'master'
Add file handle support for gdbus call

Closes #961

See merge request GNOME/glib!1729
2020-11-06 17:19:28 +00:00
Norbert Pocs
a879c46a39 gdbus: Add FD support for gdbus call
Gdbus call could not take file handle (parameter 'h') as a parameter.

Original patch from Tim Waugh <twaugh@redhat.com>.

Fixes: #961
2020-11-06 17:19:27 +00:00
Patrick Griffis
482e10d3bb guri: Normalize uri segments if they are encoded
This changes it so when a segment is encoded it will be
normalized at parse time which ensures its valid and
it can more easily be compared with other uris.
2020-11-04 10:55:04 -06:00
Emmanuele Bassi
63dfceedd2 Merge branch 'scanner-undefined-behaviour' into 'master'
gscanner: Avoid undefined behaviour copying between union members

See merge request GNOME/glib!1737
2020-11-03 17:25:04 +00:00
Philip Withnall
add3be2086 gscanner: Avoid undefined behaviour copying between union members
It’s technically undefined behaviour in C to copy between two
potentially-overlapping regions of memory (just like it is when calling
`memcpy()`). This can easily happen with union members; and the ones in
`GScanner` in particular.

Fix that by copying through an intermediate variable.

Coverity CID: #1427317, 1427340

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-03 16:59:36 +00:00