83 Commits

Author SHA1 Message Date
Philip Withnall
70ee43f1e9 glib: Add SPDX license headers automatically
Add SPDX license (but not copyright) headers to all files which follow a
certain pattern in their existing non-machine-readable header comment.

This commit was entirely generated using the command:
```
git ls-files glib/*.[ch] | xargs perl -0777 -pi -e 's/\n \*\n \* This library is free software; you can redistribute it and\/or\n \* modify it under the terms of the GNU Lesser General Public/\n \*\n \* SPDX-License-Identifier: LGPL-2.1-or-later\n \*\n \* This library is free software; you can redistribute it and\/or\n \* modify it under the terms of the GNU Lesser General Public/igs'
```

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

Helps: #1415
2022-05-18 09:19:02 +01:00
Gabor Karsay
7e64004db0 docs: mark macros, flags, enums with percent sign 2022-03-04 16:21:55 +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
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
Timm Bäder
aeed676c08 Replace a bunch of fallthrough comments with an attribute
Parsing comments is hack and clang doesn't do it, so switch to
G_GNUC_FALLTHROUGH, which exists for exactly this case.
2020-08-21 05:50:02 +02:00
Timm Bäder
e5ab441b0d Replace fallthrough comments with G_GNUC_FALLTHROUGH
It's safer to do it this way and since we have G_GNUC_FALLTHROUGH now, w
e might as well replace the fallthrough comments.
2020-03-04 11:21:17 +01:00
Philip Withnall
38de3e9dc3 docs: Use ‘look up’ as a verb, rather than the noun ‘lookup’
Another niggle fixed.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-04-26 12:12:31 +01:00
Emmanuel Fleury
9eb4fcdede Fixing missing initializer for field in gscanner.c
glib/gscanner.c:344:1: error: missing initializer for field ‘padding_dummy’ of ‘GScannerConfig’ {aka ‘const struct _GScannerConfig’} [-Werror=missing-field-initializers]
 };
 ^
In file included from glib/gscanner.c:40:
glib/gscanner.h:166:10: note: ‘padding_dummy’ declared here
   guint  padding_dummy;
          ^~~~~~~~~~~~~
2019-03-15 21:30:22 +01:00
Philip Withnall
eeadd57a14 glib: Remove remaining references to __int64
This is a follow-up to 7e821441c482917e54435a07893272d87d3ad9e5 and
e154e3325eb7274b8164f8d7a5e0f335646c2bb7 removing some remaining
references to __int64 which are no longer necessary.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://gitlab.gnome.org/GNOME/glib/issues/1313
2018-08-31 11:41:12 +01:00
Philip Withnall
3eacec1587 Use hash tables as sets in various places
Where we were already treating GHashTables as sets, modify them to use
the set-specific APIs g_hash_table_add() and g_hash_table_contains(), to
make that usage more obvious and less prone to being broken.

Heavily based on patches by Garrett Regier <garrettregier@gmail.com>.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=749371
2017-10-26 12:27:17 +01:00
Sébastien Wilmet
f9faac7661 glib/: LGPLv2+ -> LGPLv2.1+
All glib/*.{c,h} files have been processed, as well as gtester-report.

12 of those files are not licensed under LGPL:

	gbsearcharray.h
	gconstructor.h
	glibintl.h
	gmirroringtable.h
	gscripttable.h
	gtranslit-data.h
	gunibreak.h
	gunichartables.h
	gunicomp.h
	gunidecomp.h
	valgrind.h
	win_iconv.c

Some of them are generated files, some are licensed under a BSD-style
license and win_iconv.c is in the public domain.

Sub-directories inside glib/:

	deprecated/: processed in a previous commit
	glib-mirroring-tab/: already LGPLv2.1+
	gnulib/: not modified, the code is copied from gnulib
	libcharset/: a copy
	pcre/: a copy
	tests/: processed in a previous commit

https://bugzilla.gnome.org/show_bug.cgi?id=776504
2017-05-24 11:58:19 +02:00
Matthias Clasen
ab18d71e6f Minor documentation additions and corrections
Going for 100%.
2014-05-31 10:54:02 -04:00
Matthias Clasen
3232425785 Docs: replace <literal> by ` 2014-02-06 08:07:16 -05:00
Daniel Mustieles
078dbda148 Updated FSF's address 2014-01-31 14:31:55 +01:00
Dan Winship
158dde0507 Replace #ifdef HAVE_UNISTD_H checks with #ifdef G_OS_UNIX
In Windows development environments that have it, <unistd.h> is mostly
just a wrapper around several other native headers (in particular,
<io.h>, which contains read(), close(), etc, and <process.h>, which
contains getpid()). But given that some Windows dev environments don't
have <unistd.h>, everything that uses those functions on Windows
already needed to include the correct Windows header as well, and so
there is never any point to including <unistd.h> on Windows.

Also, remove some <unistd.h> includes (and a few others) that were
unnecessary even on unix.

https://bugzilla.gnome.org/show_bug.cgi?id=710519
2013-11-20 09:25:39 -05:00
Dan Winship
4b94c0831e Use 'dumb quotes' rather than `really dumb quotes'
Back in the far-off twentieth century, it was normal on unix
workstations for U+0060 GRAVE ACCENT to be drawn as "‛" and for U+0027
APOSTROPHE to be drawn as "’". This led to the convention of using
them as poor-man's ‛smart quotes’ in ASCII-only text.

However, "'" is now universally drawn as a vertical line, and "`" at a
45-degree angle, making them an `odd couple' when used together.

Unfortunately, there are lots of very old strings in glib, and also
lots of new strings in which people have kept up the old tradition,
perhaps entirely unaware that it used to not look stupid.

Fix this by just using 'dumb quotes' everywhere.

https://bugzilla.gnome.org/show_bug.cgi?id=700746
2013-05-21 11:23:22 -03:00
Dieter Verfaillie
8e740f726f Fix malformed GTK-Doc comment blocks: add missing colons.
Found these thanks to improved gobject-introspection GTK-Doc
comment block/annotation parser from:
https://bugzilla.gnome.org/show_bug.cgi?id=672254

https://bugzilla.gnome.org/show_bug.cgi?id=673385
2012-04-05 10:23:39 -03:00
David King
912ac79041 docs: Add some missing G_TOKEN_* descriptions 2012-02-21 01:10:54 +01:00
Stef Walter
7e92997539 documentation fixes
Fixes for gtk-doc warnings.

http://bugzilla.gnome.org/show_bug.cgi?id=66469

https://bugzilla.gnome.org/show_bug.cgi?id=664699
2011-12-13 23:01:51 -05:00
Matthias Clasen
117e534091 Misc doc formatting fixes 2011-10-15 17:00:56 -04:00
Matthias Clasen
75ea14e885 Move GScanner docs inline 2011-10-12 21:49:44 -04:00
Chun-wei Fan
9806040455 Added and Moved checks for includes
Moved checks for G_OS_WIN32 after GLib header includes and added other checks
required for Windows/MSVC builds
2010-11-09 09:53:12 +08:00
Emmanuele Bassi
ca7dee5949 Build fixes for the fall-out of the inclusion changes 2010-09-04 18:04:34 +01:00
Matthias Clasen
04077ff5c5 More include cleanups 2010-09-03 23:03:14 -04:00
Ryan Lortie
2e53e50244 glib/: fully remove galias hacks 2010-07-07 19:34:35 -04:00
Tim Janik
bcb496ee58 reverted premature commit which broke GScanner ABI and API, #415323.
Fri Mar 16 11:24:51 2007  Tim Janik  <timj@imendio.com>

        * glib/gscanner.[hc]: reverted premature commit which broke
        GScanner ABI and API, #415323.



svn path=/trunk/; revision=5415
2007-03-16 10:28:13 +00:00
Matthias Clasen
a071ec0404 Fix a typo in the last commit. (#415323, Richard Hult)
2007-03-15  Matthias Clasen  <mclasen@redhat.com>

        * glib/gscanner.c (g_scanner_get_token_ll): Fix a typo
        in the last commit.  (#415323, Richard Hult)



svn path=/trunk/; revision=5412
2007-03-15 20:41:12 +00:00
Matthias Clasen
57c2e6f751 Some optimizations, use a lookup table for character classes, pre-allocate
2007-03-15  Matthias Clasen  <mclasen@redhat.com>

        * glib/gscanner.[hc]: Some optimizations, use a lookup
        table for character classes, pre-allocate GStrings with
        reasonable sizes.  (#415323, Charlie Brej)



svn path=/trunk/; revision=5405
2007-03-15 04:54:03 +00:00
Matthias Clasen
ed9c3c2696 Fix some typos. (#351741, Kjartan Maraas)
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.h:
	* glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
2006-08-26 04:03:37 +00:00
Behdad Esfahbod
38b53eed54 Cleanup. Use return value of g_string_free(...). (#343548, Chris Wilson)
2006-06-01  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gkeyfile.c (g_key_file_to_data),
        (g_key_file_parse_value_as_comment),
        (g_key_file_parse_comment_as_value):
        * glib/gscanner.c (g_scanner_get_token_ll): Cleanup. Use return
        value of g_string_free(...). (#343548, Chris Wilson)
2006-06-01 04:51:25 +00:00
Matthias Clasen
727f0fea57 Make const, noticed by Kjartan Maraas.
2006-05-08  Matthias Clasen  <mclasen@redhat.com>

	* glib/gscanner.c (g_scanner_config_template): Make const,
	noticed by Kjartan Maraas.
2006-05-08 13:38:55 +00:00
Matthias Clasen
608a31b98e Make PLT-reduction work with gcc4, and don't include everything in
2005-03-13  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in galias.h:

	* glib/glib.symbols: Group symbols by header and source file.
	* glib/makegalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegalias.pl -def
	* glib/Makefile.am (galiasdef.c): Add a rule to generate this
	file.
	* glib/*.c: Include galias.h after the other GLib headers,
	include galiasdef.c at the bottom.
2005-03-14 04:26:57 +00:00
Matthias Clasen
dafdffd751 Implement the same PLT reduction technique used in GTK+:
Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>

	Implement the same PLT reduction technique used in GTK+:
2004-09-16 06:05:53 +00:00
Matthias Clasen
f65f7608ab Ignore a missing newline at EOF for single line comments. (#83674, Sven
Fri Jun 11 22:56:46 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gscanner.c (g_scanner_get_token_ll): Ignore a
	missing newline at EOF for single line comments.
	(#83674, Sven Neumann)
2004-06-12 03:00:05 +00:00
Hans Breuer
2781d5f6b3 for msvc build
2003-07-20  Hans Breuer  <hans@breuer.org>

	* glib/trio/makefile.msc : (new file) for msvc build

	* glib/glib.def : removed some duplicated entries

	* glib/gscanner.c : add same workaround for MSVC(5.0)
	which does not allow to cast an uint64 to float.
	Same as in gvaluetransform.c
	Also move #include <io.h> behind inclusion of "glib.h"
	which defines the needed G_OS_WIN32

	* glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
	as well as shell32.lib

	* tests/spawn-test.c : include <io.h> on win32
2003-07-20 15:55:09 +00:00
Matthias Clasen
6710fd6e06 Optimize the common cases (init == NULL or init == "") a bit. replace uses
2003-03-30  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.c (g_string_new): Optimize the common cases
	(init == NULL or init == "") a bit.
	* glib/gmarkup.c, glib/gmessages.c, glib/gscanner.c,
	glib/gshell.c, glib/gspawn-win32-helper.c, glib/gspawn-win32.c,
	glib/gspawn.c, gobject/gvaluetransform.c: replace uses of
	g_string_new ("") by g_string_new (NULL).  (#106973, Morten Welinder)
2003-03-30 22:02:20 +00:00
Manish Singh
d2064033e6 Fix typo. Missing '%' in my last commit.
Fri Dec 13 17:10:21 2002  Manish Singh  <yosh@gimp.org>

        * glib/gscanner.c (g_scanner_unexp_token): Fix typo. Missing '%'
        in my last commit.
2002-12-14 01:11:25 +00:00
Manish Singh
96670b2085 pull in trio if host printf doesn't have a known way of printing 64-bit
Thu Dec 12 14:58:55 2002  Manish Singh  <yosh@gimp.org>

        * configure.in: pull in trio if host printf doesn't have a known
        way of printing 64-bit ints.

        * glib/gmacros.h: remove extra whitespace at the end

        * glib/gscanner.c (g_scanner_unexp_token): use G_GUINT64_FORMAT
        instead of hardcoding "%llu"

        * tests/testglib.c: remove obsolete conditionals using G_HAVE_GINT64,
        we always have it now.

        * tests/type-test.c: same as above, and for G_G[U]INT64_FORMAT as
        well.
2002-12-12 22:59:55 +00:00
Owen Taylor
bbbd329ff5 Patch from Sven Neumann to make the include order consistent. (#71704)
Tue Dec  3 20:22:27 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/*.c: Patch from Sven Neumann to make the
        include order consistent. (#71704)
2002-12-04 01:27:44 +00:00
Matthias Clasen
bc54ea6edf Include a printf implementation supporting C99 snprintf and SUS
positional parameters:  (#79488)

	* glib/gstrfuncs.c:
	* glib/gspawn-win32.c:
	* glib/gscanner.c:
	* glib/gconvert.c:
	* glib/gbacktrace.c: Use _g_printf wrappers.

	* glib/gutils.c (g_vsnprintf): Simplify, since we can assume C99
	snprintf semantics now.

	* glib/gmessages.c (printf_string_upper_bound): No longer needed,
	since we can assume C99 snprintf semantics now.
	(g_logv): Simplify.

	* acinclude.m4 (AC_FUNC_PRINTF_UNIX98): New macro to check wether
	printf supports SUS positional parameters.

	* configure.in: New option --enable-included-printf to force
	compilation of trio; otherwise trio is compiled if the system
	printf misses either C99 snprintf semantics of SUS positional
	parameters.

	* glib/Makefile.am (SUBDIRS): Conditionally compile trio.
	(libglib_2_0_la_SOURCES): Add gprintf.c and gprintfint.h.
	(glibsubinclude_HEADERS): Add gprintf.h.

	* glib/gprintfint.h: New private wrapping either system printf
	or trio printf variants in _g_printf wrappers for use inside glib.

	* glib/gprintf.h: New public header declaring g_printf variants.
	* glib/gprintf.c: Corresponding implementations.

	* glib/trio/*: New directory, containing the trio-1.9 sources.

	* glib/tmpl/string_utils.sgml: Add note on including gprintf.h,
	move some docs inline.

	* glib/glib-sections.txt: Add g_printf, g_vprintf, g_fprintf,
	g_vfprintf, g_sprintf, g_vsprintf.
2002-11-21 00:35:15 +00:00
Tim Janik
f650a78e8b fix comment. (g_ascii_strtoull): new function, acting like strtoull(3) in
Sat Oct 12 21:30:41 2002  Tim Janik  <timj@gtk.org>

        * merged up from glib-2-0:

        * glib/gstrfuncs.c (g_ascii_strtod): fix comment.
        (g_ascii_strtoull): new function, acting like strtoull(3) in the C
        locale.

        * glib/gscanner.[hc]: fix 32bit issues with integer parsing and
        support storing 64bit values in GTokenValue by
        using g_ascii_strtoull().
2002-10-12 19:37:48 +00:00
Tim Janik
41c5704578 if input_name is NULL, print out "<memory>" instead of completely skipping
Thu Oct 10 23:27:02 2002  Tim Janik  <timj@gtk.org>

        * glib/gscanner.c (g_scanner_msg_handler): if input_name is NULL,
        print out "<memory>" instead of completely skipping input specification
        and thusly loosing error line information.
2002-10-10 21:26:25 +00:00
Matthias Clasen
340a3e809d Don't print scanner->input_name when it is NULL. (#93752)
* glib/gscanner.c (g_scanner_msg_handler): Don't print
	scanner->input_name when it is NULL.  (#93752)
2002-09-20 21:35:50 +00:00
Tim Janik
d8ea5db966 [merged from stable]
Sat May 18 00:21:51 2002  Tim Janik  <timj@gtk.org>

        [merged from stable]

        * glib/gscanner.c (g_scanner_unexp_token): fix missing cases for
        expected_token.
2002-05-17 22:46:49 +00:00
Mark McLoughlin
c5e8ac26e4 fix segfaults.
2001-12-19  Mark McLoughlin  <mark@skynet.ie>

        * glib/gscanner.c: (g_scanner_unexp_token): fix segfaults.
2001-12-20 11:12:47 +00:00
Tim Janik
115366f663 G_TOKEN_ERROR is also an end of stream condition.
Mon Nov 12 03:01:28 2001  Tim Janik  <timj@gtk.org>

        * glib/gscanner.c (g_scanner_eof): G_TOKEN_ERROR is also an end
        of stream condition.
2001-11-12 14:11:30 +00:00
Matthias Clasen
6344b5be48 make third argument a gboolean. (g_scanner_add_symbol,
* glib/gscanner.h (GScannerMsgFunc): make third argument a gboolean.
(g_scanner_add_symbol, g_scanner_remove_symbol,
g_scanner_foreach_symbol): mark these
G_DISABLE_DEPRECATED. (#61469)

* glib/gscanner.c (g_scanner_msg_handler): make third argument gboolean. (#61468)
2001-10-01 18:23:20 +00:00
Tim Janik
267ff610fe updates for 1.3.7 release.
Tue Sep  4 01:50:24 2001  Tim Janik  <timj@gtk.org>

        * NEWS: updates for 1.3.7 release.

Tue Sep  4 01:49:18 2001  Tim Janik  <timj@gtk.org>

        * gsourceclosure.c: make closure_callback_funcs static,
        added some g_return_if_fail() statements.
2001-09-03 23:46:04 +00:00
Tim Janik
1970d2e746 fix INT and FLOAT warnings for invalid token values.
Sat Aug  4 01:04:08 2001  Tim Janik  <timj@gtk.org>

        * glib/gscanner.c (g_scanner_unexp_token): fix INT and FLOAT warnings
        for invalid token values.
2001-08-12 01:00:47 +00:00
Tim Janik
9599c06203 if __GNUC__ is defined, inline a test for an exact type match for
Wed Jul 18 19:42:31 2001  Tim Janik  <timj@gtk.org>

        * gtype.h: if __GNUC__ is defined, inline a test for an exact type
        match for instances and classes in G_TYPE_CHECK_INSTANCE_TYPE() and
        G_TYPE_CHECK_CLASS_TYPE() before calling g_type_instance_is_a().

Sun Jul 29 16:08:17 2001  Tim Janik  <timj@gtk.org>

        * glib/gscanner.[hc]: removed deprecated g_scanner_stat_mode().

        * glib/gscanner.c (g_scanner_msg_handler): by default, print scanner
        errors and warnings to stderr.
2001-07-29 16:02:45 +00:00