7288 Commits

Author SHA1 Message Date
Emmanuel Fleury
1e90d9cd74 Add test case for g_prefix_error_literal() function 2021-06-01 19:00:37 +02:00
Dan Williams
9cb1bb0fb2 Add g_prefix_error_literal()
Because sometimes you don't want a lone "%s", and you don't
want the compiler yelling at you about format strings that
don't have any format in them.

Closes #663
2021-05-28 17:15:46 +02:00
Emmanuel Fleury
bf536a5ce2 Fix incompatible pointer to integer conversion warning in glib/tests/atomic.c
lib/tests/atomic.c:115:9: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'gsize' (aka 'unsigned long')
  res = g_atomic_pointer_compare_and_exchange (&gs, NULL, NULL);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib/gatomic.h:225:34: note: expanded from macro 'g_atomic_pointer_compare_and_exchange'
                                 (newval), FALSE,                            \
                                 ^~~~~~~~
2021-05-27 10:16:52 +02:00
Emmanuel Fleury
2b4bf535f1 Fix discard qualifier warning in glib/tests/atomic.c
glib/tests/atomic.c:132:18: warning: passing 'typeof (*(cspp)) *' (aka 'const int *const *') to parameter of type 'const gint **' (aka 'const int **') discards qualifiers
  g_assert_true (g_atomic_pointer_get (cspp) == csp);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
glib/gatomic.h:117:38: note: expanded from macro 'g_atomic_pointer_get'
    __atomic_load (gapg_temp_atomic, (&(gapg_temp_newval)), __ATOMIC_SEQ_CST); \
                                     ^~~~~~~~~~~~~~~~~~~~~
2021-05-27 10:16:52 +02:00
alex-tee
232b40da7b gstrvbuilder: add addv and add_many to the API 2021-05-26 12:41:18 +00:00
Philip Withnall
f71faad46b Merge branch 'th/gdbus-doc-unsubscribe-idle' into 'master'
gdbus: document completion after idle action for g_dbus_connection_signal_unsubscribe()

See merge request GNOME/glib!2050
2021-05-17 10:49:38 +00:00
Claes Nästén
d3207660bb glib spawn-singlethread test only if F_DUPFD_CLOEXEC is defined
F_DUPFD_CLOEXEC is not available on Solaris 10, no need to fail the
build instead skip the test as on non Unix platforms already.
2021-05-14 20:24:10 +02:00
Philip Withnall
e944cf8b1c Merge branch 'bookmarkfile-crash' into 'master'
gbookmarkfile: Don't crash if we're not visited

See merge request GNOME/glib!1514
2021-05-13 22:33:40 +00:00
Matthias Clasen
f3e65b1af7 gbookmarkfile: Don't crash if we're not visited
Rewrite bookmark_item_dump to not crash if any of
the timestamps is NULL. Also, avoid some of the gratitious
extra string copying.

Tweaked by Philip Withnall to pass the unit tests.
2021-05-13 22:50:34 +01:00
Philip Withnall
7e9585177d tests: Drop use of g_test_bug_base()
Include the base URI in the `g_test_bug()` calls instead. This resolves
inconsistencies between the old bug base (bugzilla.gnome.org) and the
new bug base (gitlab.gnome.org). It also has the advantage that the URI
passed to `g_test_bug()` is now clickable in the code editor, rather
than being split across two locations.

See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/275#note_303175

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-05-13 22:16:27 +01:00
Philip Withnall
46ab6821a3 gtestutils: Allow full URIs in g_test_bug()
Even if `g_test_bug_base()` has been called.

See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/275#note_303175

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-05-13 21:57:40 +01:00
Philip Withnall
0f7950f199 gtestutils: Improve documentation formatting for g_test_bug_base()
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-05-13 21:57:25 +01:00
Philip Withnall
82e2517257 Merge branch 'carlosgc/remove-dot-segments' into 'master'
guri: always apply the remove dot segments algorithm

Closes #2342

See merge request GNOME/glib!2084
2021-05-13 13:13:34 +00:00
Philip Withnall
53834ee319 Merge branch 'fix_more_warnings' into 'master'
Fix more warnings (clang)

See merge request GNOME/glib!2091
2021-05-13 12:04:42 +00:00
Philip Withnall
56ddba7c34 Merge branch 'serializ' into 'master'
docs: Standardize spelling of serializ*

Closes #2399

See merge request GNOME/glib!2096
2021-05-13 11:37:11 +00:00
Emmanuel Fleury
66af256621 Fix missing initializer warning in glib/tests/spawn-path-search-helper.c
glib/tests/spawn-path-search-helper.c:82:12: warning: missing field 'short_name' initializer
    { NULL }
           ^
2021-05-13 12:57:14 +02:00
Emmanuel Fleury
f9904fe7ae Fix missing initializers warnings in glib/tests/utf8-validate.c
glib/tests/utf8-validate.c:271:11: warning: missing field 'max_len' initializer
  { NULL, }
          ^
2021-05-13 12:57:14 +02:00
Emmanuel Fleury
c65ec0bfbf Fix many missing initializers warnings in glib/tests/option-context.c
glib/tests/option-context.c:36:10: warning: missing field 'short_name' initializer
  { NULL }
         ^
glib/tests/option-context.c:43:10: warning: missing field 'short_name' initializer
  { NULL }
         ^
glib/tests/option-context.c:319:14: warning: missing field 'short_name' initializer
      { NULL } };
             ^
...
           ^
glib/tests/option-context.c:2538:12: warning: missing field 'short_name' initializer
    { NULL }
           ^
glib/tests/option-context.c:2576:14: warning: missing field 'short_name' initializer
      { NULL } };
             ^
2021-05-13 12:57:14 +02:00
Emmanuel Fleury
f2d14a8770 Fix missing field initializer warning in glib/tests/option-argv0.c
glib/tests/option-argv0.c:38:14: warning: missing field 'short_name' initializer
      { NULL } };
             ^
2021-05-13 12:57:14 +02:00
Emmanuel Fleury
2e4524cd36 Add the G_OPTION_ENTRY_NULL macro to properly initialize GOptionEntry arrays 2021-05-13 12:57:06 +02:00
Philip Withnall
c0b339372c Merge branch 'mcatanzaro/string-test' into 'master'
tests: Add missing return value check in string test

See merge request GNOME/glib!2100
2021-05-11 22:27:44 +00:00
Michael Catanzaro
82d162da83 tests: Add missing return value check in string test
Coverity noticed that we were not testing the return value here. Good
Coverity!
2021-05-11 16:24:39 -05:00
Aleksandr Mezin
55f13da1f5 gmacros.h: G_NORETURN: remove useless checks
GCC >= 2.8 and MSVC >= 1200 are already handled by `#if` branches above. So:

- `(__GNUC__ == 4 && __GNUC_MINOR__ >= 7)` is always false here

- `!(__GNUC__ == 4 && __GNUC_MINOR__ == 7)` is always true

- `(_MSC_VER >= 1900)` is always false
2021-05-11 22:27:40 +06:00
Philip Withnall
4cd1a1c03d Merge branch 'optimise_g_atomic_ref_count_dec' into 'master'
grefcount: Optimise g_atomic_ref_count_dec

See merge request GNOME/glib!2098
2021-05-11 11:00:26 +00:00
Nishal Kulkarni
8cba1f4c17 grefcount: Optimise g_atomic_ref_count_dec
Currently, `g_atomic_ref_count_dec ()` does two operations.
We try to get this down to one operation.

Replace `g_atomic_int_dec_and_test ()` with `g_atomic_int_add ()`
Passing -1 as value.

Note: changes current behaviour, checks are now done after decrement.
2021-05-11 15:08:20 +05:30
Sebastian Dröge
ea4721422f Merge branch 'optimise_gatomicrefcount' into 'master'
grefcount: Optimise g_atomic_ref_count_inc

Closes #1583

See merge request GNOME/glib!2086
2021-05-11 07:27:24 +00:00
Geyslan G. Bem
6b867cd474 docs: Standardize spelling of serializ*
Changes serialis* to serializ*.

Fixes: #2399

Signed-off-by: Geyslan G. Bem <geyslan@gmail.com>
2021-05-10 15:28:12 -03:00
nitinosiris
15e3b9e219 glib: documentation of GSourceFuncs
Only finalize has a comment to indicate that it can be NULL
However, prepare and check can both be NULL too.

Fixes: 1864
2021-05-10 20:03:12 +05:30
Philip Withnall
2549187b18 Merge branch 'windows-known-folders' into 'master'
Use SHGetKnownFolderPath() on Windows

Closes #2397

See merge request GNOME/glib!2089
2021-05-10 14:13:01 +00:00
Thomas Haller
bdd6b753ca main: document notify function gets called during g_source_destroy()
This seems non-obvious to me. Document it.

It also seems important to know, because it means that the data pointer
might already be destroyed, before the source is unreferenced for good.
For example, if the data pointer keeps a reference to the GSource,
and it might seem sensible to call:

    g_source_destroy(data->source);
    g_source_unref(data->source); /* <<< data is already destroyed? */

This leads to a crash, if the source was attached to a context.
2021-05-10 13:16:05 +02:00
Nishal Kulkarni
827b4ec855 grefcount: Optimise g_atomic_ref_count_inc
Currently, `g_atomic_ref_count_inc ()` does three operations.
We try to get this down to one operation.

Fixed by replacing `g_atomic_int_inc ()` with `g_atomic_int_add ()`
which increments by 1 and returns old value

Note: changes current behaviour, checks are now done after increment.

Closes: #1583
2021-05-10 15:45:00 +05:30
Руслан Ижбулатов
d270d5b615 Use SHGetKnownFolderPath() on Windows
SHGetSpecialFolderLocation() can cause 200ms delays when getting some
folder locations.

Also, use SHGetKnownFolderPath() normally, without loading it at runtime,
since GLib is Windows 7-or-later now.

Fixes #2397
2021-05-07 12:33:51 +00:00
Emmanuel Fleury
9656e606d2 Fix cast to smaller integer type warning in glib/gscanner.c
glib/gscanner.c:1681:13: warning: cast to smaller integer type 'GTokenType' from 'gpointer' (aka 'void *')
        *token_p = (GTokenType) value_p->v_symbol;
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-05-06 23:07:04 +02:00
Emmanuel Fleury
83d46f6a0a Fix missing field initializer in glib/deprecated/gthread.h
glib/deprecated/gthread-deprecated.c:473:42: warning: missing field 'unused' initializer
  static const GStaticMutex init_mutex = G_STATIC_MUTEX_INIT;
                                         ^
glib/deprecated/gthread.h:128:36: note: expanded from macro 'G_STATIC_MUTEX_INIT'
                                   ^
glib/deprecated/gthread-deprecated.c:659:45: warning: missing field 'unused' initializer
  static const GStaticRecMutex init_mutex = G_STATIC_REC_MUTEX_INIT;
                                            ^
glib/deprecated/gthread.h:170:35: note: expanded from macro 'G_STATIC_REC_MUTEX_INIT'
                                  ^
glib/deprecated/gthread.h:128:36: note: expanded from macro 'G_STATIC_MUTEX_INIT'
                                   ^
glib/deprecated/gthread-deprecated.c:959:42: warning: missing field 'unused' initializer
  static const GStaticRWLock init_lock = G_STATIC_RW_LOCK_INIT;
                                         ^
glib/deprecated/gthread.h:206:33: note: expanded from macro 'G_STATIC_RW_LOCK_INIT'
                                ^
glib/deprecated/gthread.h:128:36: note: expanded from macro 'G_STATIC_MUTEX_INIT'
                                   ^
2021-05-06 22:54:53 +02:00
Carlos Garcia Campos
7e428aa4e5 guri: always apply the remove dot segments algorithm
And not only when g_uri_parse_relative() is called with a base uri. This
follows the spec and it's compatible with SoupURI.

Fixes #2342
2021-05-05 15:13:16 +02:00
Thomas Haller
10027a7cb6 guuid: fix shift operation to parse hex string in uuid_parse_string()
The actually parsed `@bytes` are not used because the only caller
does not provide an output parameter to request them. So this bug had
no effect in practice.
2021-05-03 15:09:31 +02:00
Robin Verdenal-Tallieux
514c2d8197 gmacros: Add __ to noinline to prevent conflict with macro in pixman
Fixes: #2388
2021-05-03 09:37:00 +00:00
Nishal Kulkarni
ad1fd7f998 test-printf: use G_GNUC_CHECK_VERSION
Replace `__GLIBC__` with `G_GNUC_CHECK_VERSION`
2021-04-29 17:39:54 +05:30
Nishal Kulkarni
6cc9899f3d gbitlock: use G_GNUC_CHECK_VERSION
Replace `__GLIBC__` with `G_GNUC_CHECK_VERSION`
2021-04-29 17:38:59 +05:30
Peter Bloomfield
ab62e655b3 gstring: Cleanup documentation of g_string_replace
Clean up the documentation of `g_string_replace()`'s `limit` parameter.
2021-04-27 18:55:17 -04:00
Marco Trevisan (Treviño)
11f31d8220 tests/pattern: Add compilation and copy test for utf-8 string
While we already tested this for matching we did not when copying, so
adding an expclit test for the utf8 case.
2021-04-27 16:25:09 +02:00
Marco Trevisan (Treviño)
37323239a0 gpattern: Adjust includes to match style rules 2021-04-27 16:25:09 +02:00
Marco Trevisan (Treviño)
fbb198f968 gpattern: Move match and match_string functions into GPatternSpec
This allows introspection to properly handle them as GPatternSpec
methods, as per this deprecate g_pattern_match() and
g_pattern_match_string() functions.
2021-04-27 16:25:09 +02:00
Marco Trevisan (Treviño)
474ece6d61 gpattern: Implement copy function
Add copy ability for pattern spec, so that it can be used as a boxed
type.
2021-04-27 16:25:09 +02:00
Ignacio Casal Quinteiro
03e614e6d5 gmacros: missing check if __STDC_VERSION__ is defined
This fixes warnings when compiling on old distros like centos 7
2021-04-27 13:11:42 +02:00
Sebastian Dröge
0b863a4ea9 Merge branch 'filename_max' into 'master'
Improve handling of FILENAME_MAX

See merge request GNOME/glib!2055
2021-04-23 08:40:21 +00:00
Ignacio Casal Quinteiro
2c97526c00 gmacros: check that __cplusplus or _MSC_VER is defined
Otherwise it will fail to compile in old distros like Centos 7
Fixes #2387
2021-04-23 10:10:48 +02:00
Philip Withnall
3131a6149e gdir: Add trailing nul delimiter to FILENAME_MAX
`FILENAME_MAX` is not guaranteed to include a trailing nul delimiter, so
explicitly add one.

See
https://www.gnu.org/software/libc/manual/html_node/Limits-for-Files.html:
`PATH_MAX` is explicitly defined to include a nul delimiter;
`FILENAME_MAX` is not.

See also https://twitter.com/pid_eins/status/1357008940886818822.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-04-19 19:24:08 +01:00
Philip Withnall
496135c569 dirent: Add trailing nul delimiter to FILENAME_MAX
`FILENAME_MAX` is not guaranteed to include a trailing nul delimiter, so
explicitly add one.

See
https://www.gnu.org/software/libc/manual/html_node/Limits-for-Files.html:
`PATH_MAX` is explicitly defined to include a nul delimiter;
`FILENAME_MAX` is not.

See also https://twitter.com/pid_eins/status/1357008940886818822.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-04-19 19:23:10 +01:00
Philip Withnall
3c027268a4 dirent: Simplify a memset() call
Let the compiler figure out the size, rather than hard-coding it the
same as the struct definition.

This makes no functional changes.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-04-19 19:22:33 +01:00