Commit Graph

53 Commits

Author SHA1 Message Date
Martin Storsjö
6cae01c2f5 Silence clang errors about -Wformat-nonliteral due to missing intermediate attributes
By default, meson builds glib with -Werror=format=2, which
implies -Werror=format-nonliteral. With these flags, clang errors
out on e.g. the g_message_win32_error function, due to "format
string is not a string literal". This function takes a format
string, and passes the va_list of the arguments onwards to
g_strdup_vprintf, which is annotated with printf attributes.

When passing a string+va_list to another function, GCC doesn't warn
with -Wformat-nonliteral. Clang however does warn, unless the
functions themselves (g_message_win32_error and set_error) are decorated
with similar printf attributes (to force the same checks upon the
caller) - see
https://clang.llvm.org/docs/AttributeReference.html#format
for reference.

Adding these attributes revealed one existing mismatched format string
(fixed in the preceding commit).
2020-04-27 16:26:04 +03:00
Martin Storsjö
5ed1e39865 gregistrysettings: Fix a mismatched error format string 2020-04-27 16:26:04 +03:00
Ignacio Casal Quinteiro
9239f2659f gregistrysettings: bump key name length to 128
32 is just too low for key names, specially since the registry has a limit
of 16,383 chars. Giving that, 128 is a good bump for now.
2019-10-01 14:35:43 +02:00
Nirbheek Chauhan
cdc2a798cf uwp: workaround a false positive in certification of glib
It seems that the Windows App Certification Kit searches all files and
binaries for the regex '\<reg\>' (or something like it) and throws
errors if it exists. Supposedly this is for preventing apps from
running REG.EXE

https://blogs.msdn.microsoft.com/appconsult/2017/08/16/how-to-validate-if-your-application-is-compliant-with-the-windows-store-polices-windows-10-and-windows-10-s/
2019-06-25 13:09:04 +05:30
Christoph Reiter
97c28f7fe1 ci: fix warnings and enable --werror for the mingw build
Fix various warnings regarding unused variables, duplicated
branches etc by adjusting the ifdeffery and some missing casts.

gnulib triggers -Wduplicated-branches in one of the copied files,
disable as that just makes updating the code harder.

The warning indicating missing features are made none fatal through
pragmas. They still show but don't abort the build.

https://bugzilla.gnome.org/show_bug.cgi?id=793729
2018-04-25 17:23:50 +02:00
Sébastien Wilmet
3bf4a720c3 gio/: LGPLv2+ -> LGPLv2.1+
Sub-directories inside gio/ already processed in a previous commit:
- fam/
- gdbus-2.0/ (which contains only codegen/)
- gvdb/
- inotify/
- tests/
- win32/
- xdgmime/

Other sub-directories inside gio/:
- completion/: no license headers
- kqueue/: not LGPL, BSD-style license

https://bugzilla.gnome.org/show_bug.cgi?id=776504
2017-05-29 19:53:34 +02:00
Ignacio Casal Quinteiro
f3334b47ec Revert "registrybackend: use G_DECLARE_FINAL_TYPE"
This reverts commit b0776ddd18.
mingw does not seem to like this patch so better go on the safe
way.
2016-02-24 09:33:22 +01:00
Ignacio Casal Quinteiro
13057bb73e registrybackend: fix warning about unused variable 2016-02-24 09:18:42 +01:00
Ignacio Casal Quinteiro
19fd89f8db registrybackend: avoid adding a new child when we return the root 2016-02-05 12:05:02 +01:00
Ignacio Casal Quinteiro
63b0f1087d registrybackend: another cleanup creating a registry cache item 2016-02-05 11:39:30 +01:00
Ignacio Casal Quinteiro
c73e9fc36a registrybackend: use registry_cache_add_item instead of creating manually 2016-02-05 11:14:24 +01:00
Ignacio Casal Quinteiro
bd3dd1cd48 registrybackend: get whether a key is writable or not 2016-02-05 10:44:45 +01:00
Руслан Ижбулатов
604ca89176 registrybackend: do convert values to UTF-16
Perform conversion before writing a value out of the cache into the registry,
and convert back when reading a value into the cache out of the registry.
The registry holds UTF-8 strings.
2016-02-05 09:40:30 +01:00
Руслан Ижбулатов
c4d943186e registrybackend: fix memory leak 2016-02-05 09:39:21 +01:00
Ignacio Casal Quinteiro
b8fc289e8f registrybackend: remove useless include 2016-02-04 12:44:11 +01:00
Ignacio Casal Quinteiro
74442a0b8c registrybackend: do not leak self if there are no items 2016-02-04 11:16:45 +01:00
Ignacio Casal Quinteiro
dc97bb9b9b registrybackend: handle readability of the keys
If a key is removed or it cannot be read anymore we should
notify the backend about it so it fallbacks to the default
value.
2016-02-04 11:02:46 +01:00
Ignacio Casal Quinteiro
05dd91a0b6 registrybackend: use unicode calls intead of the ansi ones
https://bugzilla.gnome.org/show_bug.cgi?id=761504
2016-02-04 08:59:59 +01:00
Ignacio Casal Quinteiro
7161d70955 registrybackend: remove useless get_permission override
The base class does the same
2016-02-04 07:55:25 +01:00
Ignacio Casal Quinteiro
259a61ed2d registrybackend: pass the event to the cache update
This way the registry cache has more control to specify what has
changed.
2016-02-03 19:19:50 +01:00
Ignacio Casal Quinteiro
c7ea434e2c registrybackend: properly propagate the partial key name 2016-02-03 13:10:09 +01:00
Ignacio Casal Quinteiro
f1a5e394b0 registrybackend: rename touched flag to readable
This is a flag used to understand if a key exists on the registry
and if it is readable. It makes more sense to rename it as readable
since anyway a key that does not exists anymore is a key that is
not readable.
2016-02-02 14:48:22 +01:00
Ignacio Casal Quinteiro
5cc997f7c4 registrybackend: close the key only if successfully opened 2016-02-02 11:08:50 +01:00
Ignacio Casal Quinteiro
bf3f827ca1 registrybackend: use ptr_array_new_with_free_func 2016-02-02 11:08:42 +01:00
Ignacio Casal Quinteiro
9098a7f927 registrybackend: minor style cleanup 2016-02-02 11:04:56 +01:00
Ignacio Casal Quinteiro
169cfb250f registrybackend: avoid signed/unsigned comparison warnings 2016-02-01 14:25:05 +01:00
Ignacio Casal Quinteiro
b0776ddd18 registrybackend: use G_DECLARE_FINAL_TYPE 2016-02-01 14:24:46 +01:00
Ignacio Casal Quinteiro
56b0454ba5 registrybackend: fix warning 2016-01-26 15:41:08 +01:00
Ignacio Casal Quinteiro
b57eac68e5 registrybackend: fix double-free error 2016-01-26 15:22:48 +01:00
Ignacio Casal Quinteiro
df1ffe7e27 registrybackend: remove :( from messages 2016-01-26 14:35:31 +01:00
Ignacio Casal Quinteiro
0200e4036c registrybackend: simplify g_message_win32_error 2016-01-26 13:26:41 +01:00
Ignacio Casal Quinteiro
bc85dee6b3 registrybackend: do not accept 0 as a windows error
We might end up removing from the error stack the wrong error
and this might be missleading
2016-01-26 13:19:56 +01:00
Ignacio Casal Quinteiro
bad7e4a114 registrybackend: do not leak the watch data in case of failure 2016-01-26 13:15:51 +01:00
Ignacio Casal Quinteiro
31aab1bd42 registrybackend: do not leak key and event if it cannot add the watch 2016-01-26 12:53:56 +01:00
Ignacio Casal Quinteiro
a92d97ff1f registrybackend: more style fixes
This is the never ending story
2016-01-26 12:21:48 +01:00
Ignacio Casal Quinteiro
1b5b0eff9a registrybackend: fix possible crash if cache_node is NULL 2016-01-26 12:02:18 +01:00
Ignacio Casal Quinteiro
67f6ede3e5 registrybackend: remove space before ++ 2016-01-26 11:46:51 +01:00
Ignacio Casal Quinteiro
8f7aa273de registrybackend: fix possible mem leak
If the parameters do not validate we would leak the memory.
2016-01-26 11:42:33 +01:00
Ignacio Casal Quinteiro
a89629db1d registrybackend: use the glib format string macro 2016-01-26 10:10:39 +01:00
Ignacio Casal Quinteiro
a159bc939d registrybackend: more cleanups 2016-01-26 09:00:35 +01:00
Ignacio Casal Quinteiro
7256f2289a registrybackend: more cleanups 2016-01-25 16:12:59 +01:00
Ignacio Casal Quinteiro
a5e819c4c3 registrybackend: style fixes 2016-01-25 16:02:03 +01:00
Emmanuele Bassi
525bbbd6bd Do not use a string literal when a format string is expected
Otherwise we'll get compiler errors.

Based on a patch by: Vincent Le Garrec <legarrec.vincent@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=696749
2015-05-25 14:04:06 +01:00
Chun-wei Fan
f6bbd19beb GSettings Registry Backend: Init cache_lock Earlier
In commit 8ff5668, we are subscribing the GSettings backend later, but this
meant that we need to initialize cache_lock earlier, as we might try to
use that lock before a change notification is issued to subscribe the
backend, which would then cause an access violation if we are trying to
read GSettings values, as that lock is used to access the Windows Registry.

Initialize cache_lock once we initialize the GSettings Registry backend,
and delete it upon finalize, so that g_settings_read_from_backend() can
proceed normally, even if the GSettings backend is not yet subscribed.

https://bugzilla.gnome.org/show_bug.cgi?id=740413
2014-11-20 22:11:25 +08:00
Руслан Ижбулатов
905a8e655c Ensure critial sections are released before returning
https://bugzilla.gnome.org/show_bug.cgi?id=734035
2014-07-31 10:39:54 +00:00
Daniel Mustieles
078dbda148 Updated FSF's address 2014-01-31 14:31:55 +01:00
Dan Winship
b8c13a01b6 win32: misc warning fixes
https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:06 -05:00
Dan Winship
731b469908 win32: define _WIN32_WINNT globally
Rather than defining _WIN32_WINNT only in a handful of files, define
it in config.h, like we do with _GNU_SOURCE.

(Also remove a "#define WIN32_LEAN_AND_MEAN" that isn't really all
that useful.)

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:05 -05:00
Matthias Clasen
4e9f59bff8 e G_SOURCE_CONTINUE/REMOVE internally
Now that we have these macros, we should use them.
This commit covers everything in gio/.
2012-01-25 16:15:18 -05:00
Matthias Clasen
1b28408b8b Spelling fixes
Spelling fixes in comments and docs, provided by
Kjartan Maraas in bug 657336.
2011-08-29 14:49:32 -04:00