gobject-introspection 3.2.1-x64-mingw32 → 3.2.2-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +10 -7
  3. data/ext/gobject-introspection/rb-gi-argument.c +64 -16
  4. data/ext/gobject-introspection/rb-gi-conversions.h +3 -4
  5. data/ext/gobject-introspection/rb-gi-function-info.c +17 -8
  6. data/lib/2.2/gobject_introspection.so +0 -0
  7. data/lib/2.3/gobject_introspection.so +0 -0
  8. data/lib/2.4/gobject_introspection.so +0 -0
  9. data/lib/2.5/gobject_introspection.so +0 -0
  10. data/lib/gobject-introspection/loader.rb +11 -4
  11. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  12. data/vendor/local/bin/g-ir-generate.exe +0 -0
  13. data/vendor/local/bin/g-ir-inspect.exe +0 -0
  14. data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
  15. data/vendor/local/lib/girepository-1.0/GIRepository-2.0.typelib +0 -0
  16. data/vendor/local/lib/girepository-1.0/GLib-2.0.typelib +0 -0
  17. data/vendor/local/lib/girepository-1.0/GObject-2.0.typelib +0 -0
  18. data/vendor/local/lib/girepository-1.0/Gio-2.0.typelib +0 -0
  19. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyc +0 -0
  20. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyo +0 -0
  21. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyc +0 -0
  22. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
  23. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
  24. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
  25. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
  26. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
  27. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyc +0 -0
  28. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyo +0 -0
  29. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.py +3 -2
  30. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyc +0 -0
  31. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyo +0 -0
  32. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyc +0 -0
  33. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyo +0 -0
  34. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyc +0 -0
  35. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyo +0 -0
  36. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyc +0 -0
  37. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyo +0 -0
  38. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyc +0 -0
  39. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyo +0 -0
  40. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyc +0 -0
  41. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyo +0 -0
  42. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyc +0 -0
  43. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyo +0 -0
  44. data/vendor/local/lib/gobject-introspection/giscanner/dumper.py +1 -1
  45. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyc +0 -0
  46. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyo +0 -0
  47. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyc +0 -0
  48. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyo +0 -0
  49. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyc +0 -0
  50. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyo +0 -0
  51. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyc +0 -0
  52. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyo +0 -0
  53. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyc +0 -0
  54. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyo +0 -0
  55. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyc +0 -0
  56. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyo +0 -0
  57. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.py +1 -0
  58. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyc +0 -0
  59. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
  60. data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
  61. data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
  62. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyc +0 -0
  63. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyo +0 -0
  64. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.py +1 -1
  65. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  66. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  67. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  68. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  69. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.py +7 -2
  70. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  71. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  72. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.py +1 -0
  73. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  74. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  75. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  76. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  77. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  78. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  79. data/vendor/local/lib/gobject-introspection/giscanner/utils.py +4 -0
  80. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  81. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  82. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  83. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  84. data/vendor/local/lib/libgirepository-1.0.a +0 -0
  85. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  86. data/vendor/local/lib/libgirepository-1.0.la +3 -3
  87. data/vendor/local/lib/pkgconfig/gobject-introspection-1.0.pc +2 -2
  88. data/vendor/local/lib/pkgconfig/gobject-introspection-no-export-1.0.pc +2 -2
  89. data/vendor/local/share/gir-1.0/GIRepository-2.0.gir +16 -5
  90. data/vendor/local/share/gir-1.0/GLib-2.0.gir +911 -377
  91. data/vendor/local/share/gir-1.0/GObject-2.0.gir +110 -53
  92. data/vendor/local/share/gir-1.0/Gio-2.0.gir +835 -287
  93. data/vendor/local/share/gobject-introspection-1.0/Makefile.introspection +1 -1
  94. data/vendor/local/share/gobject-introspection-1.0/tests/foo.h +1 -0
  95. data/vendor/local/share/gobject-introspection-1.0/tests/regress.c +2 -1
  96. data/vendor/local/share/gobject-introspection-1.0/tests/regress.h +10 -2
  97. data/vendor/local/share/license/gobject-introspection/COPYING +1 -1
  98. data/vendor/local/share/man/man1/g-ir-compiler.1 +3 -3
  99. data/vendor/local/share/man/man1/g-ir-generate.1 +2 -1
  100. metadata +8 -7
@@ -330,6 +330,7 @@ class MainTransformer(object):
330
330
  # might lose the ctype from the original node.
331
331
  if type_node is not None:
332
332
  result.ctype = type_node.ctype
333
+ result.complete_ctype = type_node.complete_ctype
333
334
  return result
334
335
 
335
336
  def _get_position(self, func, param):
@@ -562,7 +562,7 @@ def scanner_main(args):
562
562
  if options.warn_fatal and warning_count > 0:
563
563
  message.fatal("warnings configured as fatal")
564
564
  return 1
565
- elif warning_count > 0 and options.warn_all is False:
565
+ elif warning_count > 0 and options.warn_all is False and options.quiet is False:
566
566
  print("g-ir-scanner: %s: warning: %d warnings suppressed "
567
567
  "(use --warn-all to see them)" %
568
568
  (transformer.namespace.name, warning_count, ))
@@ -29,7 +29,7 @@ import platform
29
29
  import re
30
30
  import subprocess
31
31
 
32
- from .utils import get_libtool_command, extract_libtool_shlib
32
+ from .utils import get_libtool_command, extract_libtool_shlib, host_os
33
33
  from .ccompiler import CCompiler
34
34
 
35
35
 
@@ -94,7 +94,7 @@ def _resolve_non_libtool(options, binary, libraries):
94
94
  else:
95
95
  binary.args[0] = old_argdir
96
96
 
97
- if os.name == 'nt':
97
+ if host_os() == 'nt':
98
98
  cc = CCompiler()
99
99
  shlibs = cc.resolve_windows_libs(libraries, options)
100
100
 
@@ -117,6 +117,11 @@ def _resolve_non_libtool(options, binary, libraries):
117
117
  shlibs = []
118
118
  for line in proc.stdout:
119
119
  line = line.decode('ascii')
120
+ # ldd on *BSD show the argument passed on the first line even if
121
+ # there is only one argument. We have to ignore it because it is
122
+ # possible for the name of the binary to match _ldd_library_pattern.
123
+ if line == binary.args[0] + ':\n':
124
+ continue
120
125
  for library, pattern in patterns.items():
121
126
  m = pattern.search(line)
122
127
  if m:
@@ -70,6 +70,7 @@ STORAGE_CLASS_EXTERN = 1 << 2
70
70
  STORAGE_CLASS_STATIC = 1 << 3
71
71
  STORAGE_CLASS_AUTO = 1 << 4
72
72
  STORAGE_CLASS_REGISTER = 1 << 5
73
+ STORAGE_CLASS_THREAD_LOCAL = 1 << 6
73
74
 
74
75
  TYPE_QUALIFIER_NONE = 0
75
76
  TYPE_QUALIFIER_CONST = 1 << 1
@@ -184,6 +184,10 @@ def cflag_real_include_path(cflag):
184
184
  return "-I" + os.path.realpath(cflag[2:])
185
185
 
186
186
 
187
+ def host_os():
188
+ return os.environ.get("GI_HOST_OS", os.name)
189
+
190
+
187
191
  def which(program):
188
192
  def is_exe(fpath):
189
193
  return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
Binary file
@@ -1,5 +1,5 @@
1
1
  # libgirepository-1.0.la - a libtool library file
2
- # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-0.1
2
+ # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
3
3
  #
4
4
  # Please DO NOT delete this file!
5
5
  # It is necessary for linking the library.
@@ -17,7 +17,7 @@ old_library='libgirepository-1.0.a'
17
17
  inherited_linker_flags=' -pthread'
18
18
 
19
19
  # Libraries that this one depends upon.
20
- dependency_libs=' -R/home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib -L/home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib -L/home/vagrant/rcairo.win64/vendor/local/lib -L/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib /home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib/libgio-2.0.la /home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib/libgmodule-2.0.la -ldnsapi -liphlpapi -lz /home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib/libgobject-2.0.la /home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib/libglib-2.0.la -lws2_32 -lole32 -lwinmm -lshlwapi /home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib/libpcre.la /home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib/libintl.la /home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib/libiconv.la /home/vagrant/ruby-gnome2.win64/glib2/vendor/local/lib/libffi.la'
20
+ dependency_libs=' -R/home/vagrant/ruby-gnome2/glib2/vendor/local/lib -L/home/vagrant/ruby-gnome2/glib2/vendor/local/lib -L/home/vagrant/rcairo/vendor/local/lib -L/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib /home/vagrant/ruby-gnome2/glib2/vendor/local/lib/libgio-2.0.la /home/vagrant/ruby-gnome2/glib2/vendor/local/lib/libgmodule-2.0.la -ldnsapi -liphlpapi -lz /home/vagrant/ruby-gnome2/glib2/vendor/local/lib/libgobject-2.0.la /home/vagrant/ruby-gnome2/glib2/vendor/local/lib/libglib-2.0.la -lws2_32 -lole32 -lwinmm -lshlwapi /home/vagrant/ruby-gnome2/glib2/vendor/local/lib/libpcre.la /home/vagrant/ruby-gnome2/glib2/vendor/local/lib/libintl.la /home/vagrant/ruby-gnome2/glib2/vendor/local/lib/libiconv.la /home/vagrant/ruby-gnome2/glib2/vendor/local/lib/libffi.la'
21
21
 
22
22
  # Names of additional weak libraries provided by this library
23
23
  weak_library_names=''
@@ -38,4 +38,4 @@ dlopen=''
38
38
  dlpreopen=''
39
39
 
40
40
  # Directory that this library needs to be installed in:
41
- libdir='/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib'
41
+ libdir='/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib'
@@ -1,4 +1,4 @@
1
- prefix=/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local
1
+ prefix=/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local
2
2
  exec_prefix=${prefix}
3
3
  libdir=${exec_prefix}/lib
4
4
  bindir=${exec_prefix}/bin
@@ -21,4 +21,4 @@ Libs.private:
21
21
 
22
22
  Name: gobject-introspection
23
23
  Description: GObject Introspection
24
- Version: 1.54.1
24
+ Version: 1.56.0
@@ -1,4 +1,4 @@
1
- prefix=/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local
1
+ prefix=/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local
2
2
  exec_prefix=${prefix}
3
3
  libdir=${exec_prefix}/lib
4
4
  bindir=${exec_prefix}/bin
@@ -20,4 +20,4 @@ Libs.private:
20
20
 
21
21
  Name: gobject-introspection
22
22
  Description: GObject Introspection
23
- Version: 1.54.1
23
+ Version: 1.56.0
@@ -674,7 +674,18 @@ drops to 0, the info is freed.</doc>
674
674
  glib:get-type="g_irepository_get_type"
675
675
  glib:type-struct="RepositoryClass">
676
676
  <doc xml:space="preserve">#GIRepository is used to manage repositories of namespaces. Namespaces
677
- are represented on disk by type libraries (.typelib files).</doc>
677
+ are represented on disk by type libraries (.typelib files).
678
+
679
+ ### Discovery of type libraries
680
+
681
+ #GIRepository will typically look for a `girepository-1.0` directory
682
+ under the library directory used when compiling gobject-introspection.
683
+
684
+ It is possible to control the search paths programmatically, using
685
+ g_irepository_prepend_search_path(). It is also possible to modify
686
+ the search paths by using the `GI_TYPELIB_PATH` environment variable.
687
+ The environment variable takes precedence over the default search path
688
+ and the g_irepository_prepend_search_path() calls.</doc>
678
689
  <function name="dump" c:identifier="g_irepository_dump" throws="1">
679
690
  <return-value transfer-ownership="none">
680
691
  <type name="gboolean" c:type="gboolean"/>
@@ -707,8 +718,7 @@ convenient for C.</doc>
707
718
  </return-value>
708
719
  </function>
709
720
  <function name="get_option_group"
710
- c:identifier="g_irepository_get_option_group"
711
- introspectable="0">
721
+ c:identifier="g_irepository_get_option_group">
712
722
  <doc xml:space="preserve">Obtain the option group for girepository, it's used
713
723
  by the dumper and for programs that wants to provide
714
724
  introspection information</doc>
@@ -743,7 +753,8 @@ be freed, nor should its string elements.</doc>
743
753
  <function name="prepend_search_path"
744
754
  c:identifier="g_irepository_prepend_search_path">
745
755
  <doc xml:space="preserve">Prepends @directory to the typelib search path.
746
- See g_irepository_get_search_path().</doc>
756
+
757
+ See also: g_irepository_get_search_path().</doc>
747
758
  <return-value transfer-ownership="none">
748
759
  <type name="none" c:type="void"/>
749
760
  </return-value>
@@ -751,7 +762,7 @@ See g_irepository_get_search_path().</doc>
751
762
  <parameter name="directory" transfer-ownership="none">
752
763
  <doc xml:space="preserve">directory name to prepend to the typelib
753
764
  search path</doc>
754
- <type name="filename" c:type="char*"/>
765
+ <type name="filename" c:type="const char*"/>
755
766
  </parameter>
756
767
  </parameters>
757
768
  </function>
@@ -385,7 +385,8 @@ from a #GArray. The following elements are moved to close the gap.</doc>
385
385
 
386
386
  The @clear_func will be called when an element in the array
387
387
  data segment is removed and when the array is freed and data
388
- segment is deallocated as well.
388
+ segment is deallocated as well. @clear_func will be passed a
389
+ pointer to the element to clear, rather than the element itself.
389
390
 
390
391
  Note that in contrast with other uses of #GDestroyNotify
391
392
  functions, @clear_func is expected to clear the contents of
@@ -1802,8 +1803,11 @@ structure. If the object cannot be created then @error is set to a
1802
1803
  <type name="BookmarkFile" c:type="GBookmarkFile*"/>
1803
1804
  </instance-parameter>
1804
1805
  <parameter name="data" transfer-ownership="none">
1805
- <doc xml:space="preserve">desktop bookmarks loaded in memory</doc>
1806
- <type name="utf8" c:type="const gchar*"/>
1806
+ <doc xml:space="preserve">desktop bookmarks
1807
+ loaded in memory</doc>
1808
+ <array length="1" zero-terminated="0" c:type="gchar*">
1809
+ <type name="guint8"/>
1810
+ </array>
1807
1811
  </parameter>
1808
1812
  <parameter name="length" transfer-ownership="none">
1809
1813
  <doc xml:space="preserve">the length of @data in bytes</doc>
@@ -1831,11 +1835,13 @@ set to either a #GFileError or #GBookmarkFileError.</doc>
1831
1835
  </instance-parameter>
1832
1836
  <parameter name="file" transfer-ownership="none">
1833
1837
  <doc xml:space="preserve">a relative path to a filename to open and parse</doc>
1834
- <type name="filename" c:type="gchar*"/>
1838
+ <type name="filename" c:type="const gchar*"/>
1835
1839
  </parameter>
1836
1840
  <parameter name="full_path"
1837
- transfer-ownership="none"
1838
- nullable="1"
1841
+ direction="out"
1842
+ caller-allocates="0"
1843
+ transfer-ownership="full"
1844
+ optional="1"
1839
1845
  allow-none="1">
1840
1846
  <doc xml:space="preserve">return location for a string
1841
1847
  containing the full path of the file, or %NULL</doc>
@@ -1862,7 +1868,7 @@ or #GBookmarkFileError.</doc>
1862
1868
  <parameter name="filename" transfer-ownership="none">
1863
1869
  <doc xml:space="preserve">the path of a filename to load, in the
1864
1870
  GLib file name encoding</doc>
1865
- <type name="filename" c:type="gchar*"/>
1871
+ <type name="filename" c:type="const gchar*"/>
1866
1872
  </parameter>
1867
1873
  </parameters>
1868
1874
  </method>
@@ -2119,8 +2125,11 @@ If @uri cannot be found then an item for it is created.</doc>
2119
2125
  transfer-ownership="none"
2120
2126
  nullable="1"
2121
2127
  allow-none="1">
2122
- <doc xml:space="preserve">an array of group names, or %NULL to remove all groups</doc>
2123
- <type name="utf8" c:type="const gchar**"/>
2128
+ <doc xml:space="preserve">an array of
2129
+ group names, or %NULL to remove all groups</doc>
2130
+ <array length="2" zero-terminated="0" c:type="gchar**">
2131
+ <type name="utf8"/>
2132
+ </array>
2124
2133
  </parameter>
2125
2134
  <parameter name="length" transfer-ownership="none">
2126
2135
  <doc xml:space="preserve">number of group name values in @groups</doc>
@@ -2304,9 +2313,11 @@ does not affect the "modified" time.</doc>
2304
2313
  throws="1">
2305
2314
  <doc xml:space="preserve">This function outputs @bookmark as a string.</doc>
2306
2315
  <return-value transfer-ownership="full">
2307
- <doc xml:space="preserve">a newly allocated string holding
2308
- the contents of the #GBookmarkFile</doc>
2309
- <type name="utf8" c:type="gchar*"/>
2316
+ <doc xml:space="preserve">
2317
+ a newly allocated string holding the contents of the #GBookmarkFile</doc>
2318
+ <array length="0" zero-terminated="0" c:type="gchar*">
2319
+ <type name="guint8"/>
2320
+ </array>
2310
2321
  </return-value>
2311
2322
  <parameters>
2312
2323
  <instance-parameter name="bookmark" transfer-ownership="none">
@@ -2341,7 +2352,7 @@ guaranteed to be atomic by using g_file_set_contents() internally.</doc>
2341
2352
  </instance-parameter>
2342
2353
  <parameter name="filename" transfer-ownership="none">
2343
2354
  <doc xml:space="preserve">path of the output file</doc>
2344
- <type name="filename" c:type="gchar*"/>
2355
+ <type name="filename" c:type="const gchar*"/>
2345
2356
  </parameter>
2346
2357
  </parameters>
2347
2358
  </method>
@@ -2853,7 +2864,7 @@ is 0.</doc>
2853
2864
  nullable="1"
2854
2865
  allow-none="1">
2855
2866
  <doc xml:space="preserve">
2856
- the data to be used for the bytes</doc>
2867
+ the data to be used for the bytes</doc>
2857
2868
  <array length="1" zero-terminated="0" c:type="gconstpointer">
2858
2869
  <type name="guint8"/>
2859
2870
  </array>
@@ -2889,7 +2900,7 @@ g_bytes_new_with_free_func().
2889
2900
  nullable="1"
2890
2901
  allow-none="1">
2891
2902
  <doc xml:space="preserve">
2892
- the data to be used for the bytes</doc>
2903
+ the data to be used for the bytes</doc>
2893
2904
  <array length="1" zero-terminated="0" c:type="gpointer">
2894
2905
  <type name="guint8"/>
2895
2906
  </array>
@@ -2923,7 +2934,7 @@ been called to indicate that the bytes is no longer in use.
2923
2934
  nullable="1"
2924
2935
  allow-none="1">
2925
2936
  <doc xml:space="preserve">
2926
- the data to be used for the bytes</doc>
2937
+ the data to be used for the bytes</doc>
2927
2938
  <array length="1" zero-terminated="0" c:type="gconstpointer">
2928
2939
  <type name="guint8"/>
2929
2940
  </array>
@@ -3055,7 +3066,13 @@ parameter, when using non-%NULL #GBytes pointers as keys in a #GHashTable.</doc>
3055
3066
  @length may not be longer than the size of @bytes.
3056
3067
 
3057
3068
  A reference to @bytes will be held by the newly created #GBytes until
3058
- the byte data is no longer needed.</doc>
3069
+ the byte data is no longer needed.
3070
+
3071
+ Since 2.56, if @offset is 0 and @length matches the size of @bytes, then
3072
+ @bytes will be returned with the reference count incremented by 1. If @bytes
3073
+ is a slice of another #GBytes, then the resulting #GBytes will reference
3074
+ the same #GBytes instead of @bytes. This allows consumers to simplify the
3075
+ usage of #GBytes when asynchronously writing to streams.</doc>
3059
3076
  <return-value transfer-ownership="full">
3060
3077
  <doc xml:space="preserve">a new #GBytes</doc>
3061
3078
  <type name="Bytes" c:type="GBytes*"/>
@@ -3090,7 +3107,7 @@ the byte data is no longer needed.</doc>
3090
3107
  </method>
3091
3108
  <method name="unref" c:identifier="g_bytes_unref" version="2.32">
3092
3109
  <doc xml:space="preserve">Releases a reference on @bytes. This may result in the bytes being
3093
- freed.</doc>
3110
+ freed. If @bytes is %NULL, it will return immediately.</doc>
3094
3111
  <return-value transfer-ownership="none">
3095
3112
  <type name="none" c:type="void"/>
3096
3113
  </return-value>
@@ -3396,6 +3413,21 @@ for g_spawn_check_exit_status().</doc>
3396
3413
  </parameter>
3397
3414
  </parameters>
3398
3415
  </callback>
3416
+ <callback name="ClearHandleFunc" c:type="GClearHandleFunc" version="2.56">
3417
+ <doc xml:space="preserve">Specifies the type of function passed to g_clear_handle_id().
3418
+ The implementation is expected to free the resource identified
3419
+ by @handle_id; for instance, if @handle_id is a #GSource ID,
3420
+ g_source_remove() can be used.</doc>
3421
+ <return-value transfer-ownership="none">
3422
+ <type name="none" c:type="void"/>
3423
+ </return-value>
3424
+ <parameters>
3425
+ <parameter name="handle_id" transfer-ownership="none">
3426
+ <doc xml:space="preserve">the handle ID to clear</doc>
3427
+ <type name="guint" c:type="guint"/>
3428
+ </parameter>
3429
+ </parameters>
3430
+ </callback>
3399
3431
  <callback name="CompareDataFunc" c:type="GCompareDataFunc">
3400
3432
  <doc xml:space="preserve">Specifies the type of a comparison function used to compare two
3401
3433
  values. The function should return a negative integer if the first
@@ -3715,7 +3747,9 @@ time of more than 5 seconds).</doc>
3715
3747
  <member name="illegal_sequence"
3716
3748
  value="1"
3717
3749
  c:identifier="G_CONVERT_ERROR_ILLEGAL_SEQUENCE">
3718
- <doc xml:space="preserve">Invalid byte sequence in conversion input.</doc>
3750
+ <doc xml:space="preserve">Invalid byte sequence in conversion input;
3751
+ or the character sequence could not be represented in the target
3752
+ character set.</doc>
3719
3753
  </member>
3720
3754
  <member name="failed" value="2" c:identifier="G_CONVERT_ERROR_FAILED">
3721
3755
  <doc xml:space="preserve">Conversion failed for some reason.</doc>
@@ -3738,6 +3772,13 @@ time of more than 5 seconds).</doc>
3738
3772
  c:identifier="G_CONVERT_ERROR_NO_MEMORY">
3739
3773
  <doc xml:space="preserve">No memory available. Since: 2.40</doc>
3740
3774
  </member>
3775
+ <member name="embedded_nul"
3776
+ value="7"
3777
+ c:identifier="G_CONVERT_ERROR_EMBEDDED_NUL">
3778
+ <doc xml:space="preserve">An embedded NUL character is present in
3779
+ conversion output where a NUL-terminated string is expected.
3780
+ Since: 2.56</doc>
3781
+ </member>
3741
3782
  </enumeration>
3742
3783
  <callback name="CopyFunc" c:type="GCopyFunc" version="2.4">
3743
3784
  <doc xml:space="preserve">A function of this signature is used to copy the node data
@@ -4033,6 +4074,21 @@ Both dates must be valid.</doc>
4033
4074
  </parameter>
4034
4075
  </parameters>
4035
4076
  </method>
4077
+ <method name="copy" c:identifier="g_date_copy" version="2.56">
4078
+ <doc xml:space="preserve">Copies a GDate to a newly-allocated GDate. If the input was invalid
4079
+ (as determined by g_date_valid()), the invalid state will be copied
4080
+ as is into the new object.</doc>
4081
+ <return-value transfer-ownership="full">
4082
+ <doc xml:space="preserve">a newly-allocated #GDate initialized from @date</doc>
4083
+ <type name="Date" c:type="GDate*"/>
4084
+ </return-value>
4085
+ <parameters>
4086
+ <instance-parameter name="date" transfer-ownership="none">
4087
+ <doc xml:space="preserve">a #GDate to copy</doc>
4088
+ <type name="Date" c:type="const GDate*"/>
4089
+ </instance-parameter>
4090
+ </parameters>
4091
+ </method>
4036
4092
  <method name="days_between" c:identifier="g_date_days_between">
4037
4093
  <doc xml:space="preserve">Computes the number of days between two dates.
4038
4094
  If @date2 is prior to @date1, the returned value is negative.
@@ -4852,6 +4908,63 @@ when you are done with it.</doc>
4852
4908
  </parameter>
4853
4909
  </parameters>
4854
4910
  </constructor>
4911
+ <constructor name="new_from_iso8601"
4912
+ c:identifier="g_date_time_new_from_iso8601"
4913
+ version="2.56">
4914
+ <doc xml:space="preserve">Creates a #GDateTime corresponding to the given
4915
+ [ISO 8601 formatted string](https://en.wikipedia.org/wiki/ISO_8601)
4916
+ @text. ISO 8601 strings of the form &lt;date&gt;&lt;sep&gt;&lt;time&gt;&lt;tz&gt; are supported.
4917
+
4918
+ &lt;sep&gt; is the separator and can be either 'T', 't' or ' '.
4919
+
4920
+ &lt;date&gt; is in the form:
4921
+
4922
+ - `YYYY-MM-DD` - Year/month/day, e.g. 2016-08-24.
4923
+ - `YYYYMMDD` - Same as above without dividers.
4924
+ - `YYYY-DDD` - Ordinal day where DDD is from 001 to 366, e.g. 2016-237.
4925
+ - `YYYYDDD` - Same as above without dividers.
4926
+ - `YYYY-Www-D` - Week day where ww is from 01 to 52 and D from 1-7,
4927
+ e.g. 2016-W34-3.
4928
+ - `YYYYWwwD` - Same as above without dividers.
4929
+
4930
+ &lt;time&gt; is in the form:
4931
+
4932
+ - `hh:mm:ss(.sss)` - Hours, minutes, seconds (subseconds), e.g. 22:10:42.123.
4933
+ - `hhmmss(.sss)` - Same as above without dividers.
4934
+
4935
+ &lt;tz&gt; is an optional timezone suffix of the form:
4936
+
4937
+ - `Z` - UTC.
4938
+ - `+hh:mm` or `-hh:mm` - Offset from UTC in hours and minutes, e.g. +12:00.
4939
+ - `+hh` or `-hh` - Offset from UTC in hours, e.g. +12.
4940
+
4941
+ If the timezone is not provided in @text it must be provided in @default_tz
4942
+ (this field is otherwise ignored).
4943
+
4944
+ This call can fail (returning %NULL) if @text is not a valid ISO 8601
4945
+ formatted string.
4946
+
4947
+ You should release the return value by calling g_date_time_unref()
4948
+ when you are done with it.</doc>
4949
+ <return-value transfer-ownership="full" nullable="1">
4950
+ <doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
4951
+ <type name="DateTime" c:type="GDateTime*"/>
4952
+ </return-value>
4953
+ <parameters>
4954
+ <parameter name="text" transfer-ownership="none">
4955
+ <doc xml:space="preserve">an ISO 8601 formatted time string.</doc>
4956
+ <type name="utf8" c:type="const gchar*"/>
4957
+ </parameter>
4958
+ <parameter name="default_tz"
4959
+ transfer-ownership="none"
4960
+ nullable="1"
4961
+ allow-none="1">
4962
+ <doc xml:space="preserve">a #GTimeZone to use if the text doesn't contain a
4963
+ timezone, or %NULL.</doc>
4964
+ <type name="TimeZone" c:type="GTimeZone*"/>
4965
+ </parameter>
4966
+ </parameters>
4967
+ </constructor>
4855
4968
  <constructor name="new_from_timeval_local"
4856
4969
  c:identifier="g_date_time_new_from_timeval_local"
4857
4970
  version="2.26">
@@ -5204,7 +5317,12 @@ Add negative values to subtract minutes.</doc>
5204
5317
  c:identifier="g_date_time_add_months"
5205
5318
  version="2.26">
5206
5319
  <doc xml:space="preserve">Creates a copy of @datetime and adds the specified number of months to the
5207
- copy. Add negative values to subtract months.</doc>
5320
+ copy. Add negative values to subtract months.
5321
+
5322
+ The day of the month of the resulting #GDateTime is clamped to the number
5323
+ of days in the updated calendar month. For example, if adding 1 month to
5324
+ 31st January 2018, the result would be 28th February 2018. In 2020 (a leap
5325
+ year), the result would be 29th February.</doc>
5208
5326
  <return-value transfer-ownership="full">
5209
5327
  <doc xml:space="preserve">the newly created #GDateTime which should be freed with
5210
5328
  g_date_time_unref().</doc>
@@ -5267,7 +5385,10 @@ copy. Add negative values to subtract weeks.</doc>
5267
5385
  c:identifier="g_date_time_add_years"
5268
5386
  version="2.26">
5269
5387
  <doc xml:space="preserve">Creates a copy of @datetime and adds the specified number of years to the
5270
- copy. Add negative values to subtract years.</doc>
5388
+ copy. Add negative values to subtract years.
5389
+
5390
+ As with g_date_time_add_months(), if the resulting date would be 29th
5391
+ February on a non-leap year, the day will be clamped to 28th February.</doc>
5271
5392
  <return-value transfer-ownership="full">
5272
5393
  <doc xml:space="preserve">the newly created #GDateTime which should be freed with
5273
5394
  g_date_time_unref().</doc>
@@ -5392,10 +5513,19 @@ conversions:
5392
5513
  - -: Do not pad a numeric result. This overrides the default padding
5393
5514
  for the specifier.
5394
5515
  - 0: Pad a numeric result with zeros. This overrides the default padding
5395
- for the specifier.</doc>
5516
+ for the specifier.
5517
+
5518
+ Additionally, when O is used with B, b, or h, it produces the alternative
5519
+ form of a month name. The alternative form should be used when the month
5520
+ name is used without a day number (e.g., standalone). It is required in
5521
+ some languages (Baltic, Slavic, Greek, and more) due to their grammatical
5522
+ rules. For other languages there is no difference. \%OB is a GNU and BSD
5523
+ strftime() extension expected to be added to the future POSIX specification,
5524
+ \%Ob and \%Oh are GNU strftime() extensions. Since: 2.56</doc>
5396
5525
  <return-value transfer-ownership="full">
5397
5526
  <doc xml:space="preserve">a newly allocated string formatted to the requested format
5398
- or %NULL in the case that there was an error. The string
5527
+ or %NULL in the case that there was an error (such as a format specifier
5528
+ not being supported in the current locale). The string
5399
5529
  should be freed with g_free().</doc>
5400
5530
  <type name="utf8" c:type="gchar*"/>
5401
5531
  </return-value>
@@ -6023,7 +6153,7 @@ filenames, the returned name is in UTF-8.</doc>
6023
6153
  <doc xml:space="preserve">The entry's name or %NULL if there are no
6024
6154
  more entries. The return value is owned by GLib and
6025
6155
  must not be modified or freed.</doc>
6026
- <type name="filename" c:type="gchar*"/>
6156
+ <type name="filename" c:type="const gchar*"/>
6027
6157
  </return-value>
6028
6158
  <parameters>
6029
6159
  <instance-parameter name="dir" transfer-ownership="none">
@@ -6074,7 +6204,7 @@ modified, and might thus be a read-only literal string.</doc>
6074
6204
  allow-none="1">
6075
6205
  <doc xml:space="preserve">Template for directory name,
6076
6206
  as in g_mkdtemp(), basename only, or %NULL for a default template</doc>
6077
- <type name="filename" c:type="gchar*"/>
6207
+ <type name="filename" c:type="const gchar*"/>
6078
6208
  </parameter>
6079
6209
  </parameters>
6080
6210
  </function>
@@ -6150,7 +6280,8 @@ object.</doc>
6150
6280
  nullable="1"
6151
6281
  allow-none="1"
6152
6282
  closure="1">
6153
- <doc xml:space="preserve">user data that was specified in g_datalist_id_dup_data()</doc>
6283
+ <doc xml:space="preserve">user data that was specified in
6284
+ g_datalist_id_dup_data()</doc>
6154
6285
  <type name="gpointer" c:type="gpointer"/>
6155
6286
  </parameter>
6156
6287
  </parameters>
@@ -6579,6 +6710,10 @@ as appropriate for a given platform. IEEE floats and doubles are supported
6579
6710
  a strong "power of 2" basis, like RAM sizes or RAID stripe sizes.
6580
6711
  Network and storage sizes should be reported in the normal SI units.</doc>
6581
6712
  </member>
6713
+ <member name="bits" value="4" c:identifier="G_FORMAT_SIZE_BITS">
6714
+ <doc xml:space="preserve">set the size as a quantity in bits, rather than
6715
+ bytes, and return units in bits. For example, ‘Mb’ rather than ‘MB’.</doc>
6716
+ </member>
6582
6717
  </bitfield>
6583
6718
  <callback name="FreeFunc" c:type="GFreeFunc">
6584
6719
  <doc xml:space="preserve">Declares a type of function which takes an arbitrary
@@ -6896,7 +7031,7 @@ and #gchar* respectively.
6896
7031
  g_direct_hash() is also the appropriate hash function for keys
6897
7032
  of the form `GINT_TO_POINTER (n)` (or similar macros).
6898
7033
 
6899
- &lt;!-- FIXME: Need more here. --&gt; A good hash functions should produce
7034
+ A good hash functions should produce
6900
7035
  hash values that are evenly distributed over a fairly large range.
6901
7036
  The modulus is taken with the hash table size (a prime number) to
6902
7037
  find the 'bucket' to place each key into. The function should also
@@ -6944,7 +7079,11 @@ key and the value.
6944
7079
 
6945
7080
  When a hash table only ever contains keys that have themselves as the
6946
7081
  corresponding value it is able to be stored more efficiently. See
6947
- the discussion in the section description.</doc>
7082
+ the discussion in the section description.
7083
+
7084
+ Starting from GLib 2.40, this function returns a boolean value to
7085
+ indicate whether the newly added value was already in the hash table
7086
+ or not.</doc>
6948
7087
  <return-value transfer-ownership="none">
6949
7088
  <doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
6950
7089
  <type name="gboolean" c:type="gboolean"/>
@@ -7273,7 +7412,11 @@ value is replaced with the new value. If you supplied a
7273
7412
  @value_destroy_func when creating the #GHashTable, the old
7274
7413
  value is freed using that function. If you supplied a
7275
7414
  @key_destroy_func when creating the #GHashTable, the passed
7276
- key is freed using that function.</doc>
7415
+ key is freed using that function.
7416
+
7417
+ Starting from GLib 2.40, this function returns a boolean value to
7418
+ indicate whether the newly added value was already in the hash table
7419
+ or not.</doc>
7277
7420
  <return-value transfer-ownership="none">
7278
7421
  <doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
7279
7422
  <type name="gboolean" c:type="gboolean"/>
@@ -7550,7 +7693,11 @@ already exists in the #GHashTable, it gets replaced by the
7550
7693
  new key. If you supplied a @value_destroy_func when creating
7551
7694
  the #GHashTable, the old value is freed using that function.
7552
7695
  If you supplied a @key_destroy_func when creating the
7553
- #GHashTable, the old key is freed using that function.</doc>
7696
+ #GHashTable, the old key is freed using that function.
7697
+
7698
+ Starting from GLib 2.40, this function returns a boolean value to
7699
+ indicate whether the newly added value was already in the hash table
7700
+ or not.</doc>
7554
7701
  <return-value transfer-ownership="none">
7555
7702
  <doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
7556
7703
  <type name="gboolean" c:type="gboolean"/>
@@ -8723,16 +8870,26 @@ function returns %FALSE.</doc>
8723
8870
  </parameter>
8724
8871
  </parameters>
8725
8872
  </callback>
8726
- <record name="IConv" c:type="GIConv" disguised="1">
8873
+ <record name="IConv" c:type="GIConv" disguised="1" introspectable="0">
8727
8874
  <doc xml:space="preserve">The GIConv struct wraps an iconv() conversion descriptor. It contains
8728
8875
  private data and should only be accessed using the following functions.</doc>
8729
- <method name="" c:identifier="g_iconv" moved-to="iconv">
8876
+ <method name=""
8877
+ c:identifier="g_iconv"
8878
+ moved-to="iconv"
8879
+ introspectable="0">
8730
8880
  <doc xml:space="preserve">Same as the standard UNIX routine iconv(), but
8731
8881
  may be implemented via libiconv on UNIX flavors that lack
8732
8882
  a native implementation.
8733
8883
 
8734
8884
  GLib provides g_convert() and g_locale_to_utf8() which are likely
8735
- more convenient than the raw iconv wrappers.</doc>
8885
+ more convenient than the raw iconv wrappers.
8886
+
8887
+ Note that the behaviour of iconv() for characters which are valid in the
8888
+ input character set, but which have no representation in the output character
8889
+ set, is implementation defined. This function may return success (with a
8890
+ positive number of non-reversible conversions as replacement characters were
8891
+ used), or it may return -1 and set an error such as %EILSEQ, in such a
8892
+ situation.</doc>
8736
8893
  <return-value transfer-ownership="none">
8737
8894
  <doc xml:space="preserve">count of non-reversible conversions, or -1 on error</doc>
8738
8895
  <type name="gsize" c:type="gsize"/>
@@ -8760,7 +8917,7 @@ more convenient than the raw iconv wrappers.</doc>
8760
8917
  </parameter>
8761
8918
  </parameters>
8762
8919
  </method>
8763
- <method name="close" c:identifier="g_iconv_close">
8920
+ <method name="close" c:identifier="g_iconv_close" introspectable="0">
8764
8921
  <doc xml:space="preserve">Same as the standard UNIX routine iconv_close(), but
8765
8922
  may be implemented via libiconv on UNIX flavors that lack
8766
8923
  a native implementation. Should be called to clean up
@@ -8833,10 +8990,10 @@ functions.</doc>
8833
8990
  <field name="encoding" readable="0" private="1">
8834
8991
  <type name="utf8" c:type="gchar*"/>
8835
8992
  </field>
8836
- <field name="read_cd" readable="0" private="1">
8993
+ <field name="read_cd" introspectable="0" readable="0" private="1">
8837
8994
  <type name="IConv" c:type="GIConv"/>
8838
8995
  </field>
8839
- <field name="write_cd" readable="0" private="1">
8996
+ <field name="write_cd" introspectable="0" readable="0" private="1">
8840
8997
  <type name="IConv" c:type="GIConv"/>
8841
8998
  </field>
8842
8999
  <field name="line_term" readable="0" private="1">
@@ -8901,7 +9058,7 @@ access the channel after it is closed).</doc>
8901
9058
  <parameters>
8902
9059
  <parameter name="filename" transfer-ownership="none">
8903
9060
  <doc xml:space="preserve">A string containing the name of a file</doc>
8904
- <type name="filename" c:type="gchar*"/>
9061
+ <type name="filename" c:type="const gchar*"/>
8905
9062
  </parameter>
8906
9063
  <parameter name="mode" transfer-ownership="none">
8907
9064
  <doc xml:space="preserve">One of "r", "w", "a", "r+", "w+", "a+". These have
@@ -8955,8 +9112,8 @@ order to meaningfully use this function your code should use the
8955
9112
  same C runtime as GLib uses, which is msvcrt.dll. Note that in
8956
9113
  current Microsoft compilers it is near impossible to convince it to
8957
9114
  build code that would use msvcrt.dll. The last Microsoft compiler
8958
- version that supported using msvcrt.dll as the C runtime was version
8959
- 6. The GNU compiler and toolchain for Windows, also known as Mingw,
9115
+ version that supported using msvcrt.dll as the C runtime was version 6.
9116
+ The GNU compiler and toolchain for Windows, also known as Mingw,
8960
9117
  fully supports msvcrt.dll.
8961
9118
 
8962
9119
  If you have created a #GIOChannel for a file descriptor and started
@@ -10759,6 +10916,45 @@ be found, %NULL is returned and @error is set to
10759
10916
  </parameter>
10760
10917
  </parameters>
10761
10918
  </method>
10919
+ <method name="get_locale_for_key"
10920
+ c:identifier="g_key_file_get_locale_for_key"
10921
+ version="2.56">
10922
+ <doc xml:space="preserve">Returns the actual locale which the result of
10923
+ g_key_file_get_locale_string() or g_key_file_get_locale_string_list()
10924
+ came from.
10925
+
10926
+ If calling g_key_file_get_locale_string() or
10927
+ g_key_file_get_locale_string_list() with exactly the same @key_file,
10928
+ @group_name, @key and @locale, the result of those functions will
10929
+ have originally been tagged with the locale that is the result of
10930
+ this function.</doc>
10931
+ <return-value transfer-ownership="full" nullable="1">
10932
+ <doc xml:space="preserve">the locale from the file, or %NULL if the key was not
10933
+ found or the entry in the file was was untranslated</doc>
10934
+ <type name="utf8" c:type="gchar*"/>
10935
+ </return-value>
10936
+ <parameters>
10937
+ <instance-parameter name="key_file" transfer-ownership="none">
10938
+ <doc xml:space="preserve">a #GKeyFile</doc>
10939
+ <type name="KeyFile" c:type="GKeyFile*"/>
10940
+ </instance-parameter>
10941
+ <parameter name="group_name" transfer-ownership="none">
10942
+ <doc xml:space="preserve">a group name</doc>
10943
+ <type name="utf8" c:type="const gchar*"/>
10944
+ </parameter>
10945
+ <parameter name="key" transfer-ownership="none">
10946
+ <doc xml:space="preserve">a key</doc>
10947
+ <type name="utf8" c:type="const gchar*"/>
10948
+ </parameter>
10949
+ <parameter name="locale"
10950
+ transfer-ownership="none"
10951
+ nullable="1"
10952
+ allow-none="1">
10953
+ <doc xml:space="preserve">a locale identifier or %NULL</doc>
10954
+ <type name="utf8" c:type="const gchar*"/>
10955
+ </parameter>
10956
+ </parameters>
10957
+ </method>
10762
10958
  <method name="get_locale_string"
10763
10959
  c:identifier="g_key_file_get_locale_string"
10764
10960
  version="2.6"
@@ -10767,6 +10963,10 @@ be found, %NULL is returned and @error is set to
10767
10963
  translated in the given @locale if available. If @locale is
10768
10964
  %NULL then the current locale is assumed.
10769
10965
 
10966
+ If @locale is to be non-%NULL, or if the current locale will change over
10967
+ the lifetime of the #GKeyFile, it must be loaded with
10968
+ %G_KEY_FILE_KEEP_TRANSLATIONS in order to load strings for all locales.
10969
+
10770
10970
  If @key cannot be found then %NULL is returned and @error is set
10771
10971
  to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated
10772
10972
  with @key cannot be interpreted or no suitable translation can
@@ -10806,6 +11006,10 @@ be found then the untranslated value is returned.</doc>
10806
11006
  translated in the given @locale if available. If @locale is
10807
11007
  %NULL then the current locale is assumed.
10808
11008
 
11009
+ If @locale is to be non-%NULL, or if the current locale will change over
11010
+ the lifetime of the #GKeyFile, it must be loaded with
11011
+ %G_KEY_FILE_KEEP_TRANSLATIONS in order to load strings for all locales.
11012
+
10809
11013
  If @key cannot be found then %NULL is returned and @error is set
10810
11014
  to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the values associated
10811
11015
  with @key cannot be interpreted or no suitable translations
@@ -11126,7 +11330,7 @@ set to either a #GFileError or #GKeyFileError.</doc>
11126
11330
  </instance-parameter>
11127
11331
  <parameter name="file" transfer-ownership="none">
11128
11332
  <doc xml:space="preserve">a relative path to a filename to open and parse</doc>
11129
- <type name="filename" c:type="gchar*"/>
11333
+ <type name="filename" c:type="const gchar*"/>
11130
11334
  </parameter>
11131
11335
  <parameter name="full_path"
11132
11336
  direction="out"
@@ -11168,7 +11372,7 @@ file, a %G_FILE_ERROR is returned. If there is a problem parsing the file, a
11168
11372
  </instance-parameter>
11169
11373
  <parameter name="file" transfer-ownership="none">
11170
11374
  <doc xml:space="preserve">a relative path to a filename to open and parse</doc>
11171
- <type name="filename" c:type="gchar*"/>
11375
+ <type name="filename" c:type="const gchar*"/>
11172
11376
  </parameter>
11173
11377
  <parameter name="search_dirs" transfer-ownership="none">
11174
11378
  <doc xml:space="preserve">%NULL-terminated array of directories to search</doc>
@@ -11215,7 +11419,7 @@ This function will never return a %G_KEY_FILE_ERROR_NOT_FOUND error. If the
11215
11419
  </instance-parameter>
11216
11420
  <parameter name="file" transfer-ownership="none">
11217
11421
  <doc xml:space="preserve">the path of a filename to load, in the GLib filename encoding</doc>
11218
- <type name="filename" c:type="gchar*"/>
11422
+ <type name="filename" c:type="const gchar*"/>
11219
11423
  </parameter>
11220
11424
  <parameter name="flags" transfer-ownership="none">
11221
11425
  <doc xml:space="preserve">flags from #GKeyFileFlags</doc>
@@ -11924,24 +12128,32 @@ See #G_BYTE_ORDER.</doc>
11924
12128
  <type name="gdouble" c:type="gdouble"/>
11925
12129
  </constant>
11926
12130
  <constant name="LOG_DOMAIN" value="0" c:type="G_LOG_DOMAIN">
11927
- <doc xml:space="preserve">Defines the log domain.
12131
+ <doc xml:space="preserve">Defines the log domain. See [Log Domains](#log-domains).
11928
12132
 
11929
12133
  Libraries should define this so that any messages
11930
12134
  which they log can be differentiated from messages from other
11931
12135
  libraries and application code. But be careful not to define
11932
12136
  it in any public header files.
11933
12137
 
11934
- For example, GTK+ uses this in its Makefile.am:
12138
+ Log domains must be unique, and it is recommended that they are the
12139
+ application or library name, optionally followed by a hyphen and a sub-domain
12140
+ name. For example, `bloatpad` or `bloatpad-io`.
12141
+
12142
+ If undefined, it defaults to the default %NULL (or `""`) log domain; this is
12143
+ not advisable, as it cannot be filtered against using the `G_MESSAGES_DEBUG`
12144
+ environment variable.
12145
+
12146
+ For example, GTK+ uses this in its `Makefile.am`:
11935
12147
  |[
11936
12148
  AM_CPPFLAGS = -DG_LOG_DOMAIN=\"Gtk\"
11937
12149
  ]|
11938
12150
 
11939
- Applications can choose to leave it as the default %NULL (or "")
12151
+ Applications can choose to leave it as the default %NULL (or `""`)
11940
12152
  domain. However, defining the domain offers the same advantages as
11941
12153
  above.</doc>
11942
12154
  <type name="gchar" c:type="gchar"/>
11943
12155
  </constant>
11944
- <constant name="LOG_FATAL_MASK" value="0" c:type="G_LOG_FATAL_MASK">
12156
+ <constant name="LOG_FATAL_MASK" value="5" c:type="G_LOG_FATAL_MASK">
11945
12157
  <doc xml:space="preserve">GLib log levels that are considered fatal by default.
11946
12158
 
11947
12159
  This is not used if structured logging is enabled; see
@@ -12244,7 +12456,10 @@ given user data.</doc>
12244
12456
  <function name="foreach"
12245
12457
  c:identifier="g_list_foreach"
12246
12458
  introspectable="0">
12247
- <doc xml:space="preserve">Calls a function for each element of a #GList.</doc>
12459
+ <doc xml:space="preserve">Calls a function for each element of a #GList.
12460
+
12461
+ It is safe for @func to remove the element from @list, but it must
12462
+ not modify any part of the list after that element.</doc>
12248
12463
  <return-value transfer-ownership="none">
12249
12464
  <type name="none" c:type="void"/>
12250
12465
  </return-value>
@@ -12309,7 +12524,10 @@ It is usually used after g_list_remove_link().</doc>
12309
12524
  version="2.28"
12310
12525
  introspectable="0">
12311
12526
  <doc xml:space="preserve">Convenience method, which frees all the memory used by a #GList,
12312
- and calls @free_func on every element's data.</doc>
12527
+ and calls @free_func on every element's data.
12528
+
12529
+ @free_func must not modify the list (eg, by removing the freed
12530
+ element from it).</doc>
12313
12531
  <return-value transfer-ownership="none">
12314
12532
  <type name="none" c:type="void"/>
12315
12533
  </return-value>
@@ -13068,7 +13286,7 @@ linked against at application run time.</doc>
13068
13286
  <doc xml:space="preserve">The maximum value which can be held in a #guint8.</doc>
13069
13287
  <type name="guint8" c:type="guint8"/>
13070
13288
  </constant>
13071
- <constant name="MICRO_VERSION" value="1" c:type="GLIB_MICRO_VERSION">
13289
+ <constant name="MICRO_VERSION" value="0" c:type="GLIB_MICRO_VERSION">
13072
13290
  <doc xml:space="preserve">The micro version number of the GLib library.
13073
13291
 
13074
13292
  Like #gtk_micro_version, but from the headers used at
@@ -13095,7 +13313,7 @@ linked against at application run time.</doc>
13095
13313
  <doc xml:space="preserve">The minimum value which can be held in a #gint8.</doc>
13096
13314
  <type name="gint8" c:type="gint8"/>
13097
13315
  </constant>
13098
- <constant name="MINOR_VERSION" value="54" c:type="GLIB_MINOR_VERSION">
13316
+ <constant name="MINOR_VERSION" value="56" c:type="GLIB_MINOR_VERSION">
13099
13317
  <doc xml:space="preserve">The minor version number of the GLib library.
13100
13318
 
13101
13319
  Like #gtk_minor_version, but from the headers used at
@@ -13373,7 +13591,7 @@ loop (and may prevent this call from returning).</doc>
13373
13591
  invocation of @function.
13374
13592
 
13375
13593
  This function is the same as g_main_context_invoke() except that it
13376
- lets you specify the priority incase @function ends up being
13594
+ lets you specify the priority in case @function ends up being
13377
13595
  scheduled as an idle and also lets you give a #GDestroyNotify for @data.
13378
13596
 
13379
13597
  @notify should not assume that it is called from any particular
@@ -13964,7 +14182,7 @@ to the #GFileError value #G_FILE_ERROR_INVAL.</doc>
13964
14182
  <parameter name="filename" transfer-ownership="none">
13965
14183
  <doc xml:space="preserve">The path of the file to load, in the GLib
13966
14184
  filename encoding</doc>
13967
- <type name="filename" c:type="gchar*"/>
14185
+ <type name="filename" c:type="const gchar*"/>
13968
14186
  </parameter>
13969
14187
  <parameter name="writable" transfer-ownership="none">
13970
14188
  <doc xml:space="preserve">whether the mapping should be writable</doc>
@@ -15502,8 +15720,9 @@ the second 1, and so on.</doc>
15502
15720
  <method name="children_foreach"
15503
15721
  c:identifier="g_node_children_foreach"
15504
15722
  introspectable="0">
15505
- <doc xml:space="preserve">Calls a function for each of the children of a #GNode.
15506
- Note that it doesn't descend beneath the child nodes.</doc>
15723
+ <doc xml:space="preserve">Calls a function for each of the children of a #GNode. Note that it
15724
+ doesn't descend beneath the child nodes. @func must not do anything
15725
+ that would modify the structure of the tree.</doc>
15507
15726
  <return-value transfer-ownership="none">
15508
15727
  <type name="none" c:type="void"/>
15509
15728
  </return-value>
@@ -15913,7 +16132,8 @@ too big, %NULL is returned.</doc>
15913
16132
  introspectable="0">
15914
16133
  <doc xml:space="preserve">Traverses a tree starting at the given root #GNode.
15915
16134
  It calls the given function for each node visited.
15916
- The traversal can be halted at any point by returning %TRUE from @func.</doc>
16135
+ The traversal can be halted at any point by returning %TRUE from @func.
16136
+ @func must not do anything that would modify the structure of the tree.</doc>
15917
16137
  <return-value transfer-ownership="none">
15918
16138
  <type name="none" c:type="void"/>
15919
16139
  </return-value>
@@ -16459,7 +16679,7 @@ See g_option_context_set_strict_posix() for more information.</doc>
16459
16679
  </return-value>
16460
16680
  <parameters>
16461
16681
  <instance-parameter name="context" transfer-ownership="none">
16462
- <doc xml:space="preserve">a #GoptionContext</doc>
16682
+ <doc xml:space="preserve">a #GOptionContext</doc>
16463
16683
  <type name="OptionContext" c:type="GOptionContext*"/>
16464
16684
  </instance-parameter>
16465
16685
  </parameters>
@@ -16699,7 +16919,7 @@ parsing).</doc>
16699
16919
  </return-value>
16700
16920
  <parameters>
16701
16921
  <instance-parameter name="context" transfer-ownership="none">
16702
- <doc xml:space="preserve">a #GoptionContext</doc>
16922
+ <doc xml:space="preserve">a #GOptionContext</doc>
16703
16923
  <type name="OptionContext" c:type="GOptionContext*"/>
16704
16924
  </instance-parameter>
16705
16925
  <parameter name="strict_posix" transfer-ownership="none">
@@ -17663,7 +17883,8 @@ equality is used.</doc>
17663
17883
  c:identifier="g_ptr_array_foreach"
17664
17884
  version="2.4"
17665
17885
  introspectable="0">
17666
- <doc xml:space="preserve">Calls a function for each element of a #GPtrArray.</doc>
17886
+ <doc xml:space="preserve">Calls a function for each element of a #GPtrArray. @func must not
17887
+ add elements to or remove elements from the array.</doc>
17667
17888
  <return-value transfer-ownership="none">
17668
17889
  <type name="none" c:type="void"/>
17669
17890
  </return-value>
@@ -18270,7 +18491,10 @@ first argument and the given user data as the second argument.</doc>
18270
18491
  version="2.4"
18271
18492
  introspectable="0">
18272
18493
  <doc xml:space="preserve">Calls @func for each element in the queue passing @user_data to the
18273
- function.</doc>
18494
+ function.
18495
+
18496
+ It is safe for @func to remove the element from @queue, but it must
18497
+ not modify any part of the queue after that element.</doc>
18274
18498
  <return-value transfer-ownership="none">
18275
18499
  <type name="none" c:type="void"/>
18276
18500
  </return-value>
@@ -18311,7 +18535,10 @@ either use g_queue_free_full() or free them manually first.</doc>
18311
18535
  </method>
18312
18536
  <method name="free_full" c:identifier="g_queue_free_full" version="2.32">
18313
18537
  <doc xml:space="preserve">Convenience method, which frees all the memory used by a #GQueue,
18314
- and calls the specified destroy function on every element's data.</doc>
18538
+ and calls the specified destroy function on every element's data.
18539
+
18540
+ @free_func should not modify the queue (eg, by removing the freed
18541
+ element from it).</doc>
18315
18542
  <return-value transfer-ownership="none">
18316
18543
  <type name="none" c:type="void"/>
18317
18544
  </return-value>
@@ -19104,7 +19331,8 @@ the write lock on @rw_lock or blocks waiting for it, the current
19104
19331
  thread will block. Read locks can be taken recursively.
19105
19332
 
19106
19333
  It is implementation-defined how many threads are allowed to
19107
- hold read locks on the same lock simultaneously.</doc>
19334
+ hold read locks on the same lock simultaneously. If the limit is hit,
19335
+ or if a deadlock is detected, a critical warning will be emitted.</doc>
19108
19336
  <return-value transfer-ownership="none">
19109
19337
  <type name="none" c:type="void"/>
19110
19338
  </return-value>
@@ -20062,7 +20290,7 @@ number-th captured subexpression of the match, '\g&lt;name&gt;' refers
20062
20290
  to the captured subexpression with the given name. '\0' refers
20063
20291
  to the complete match, but '\0' followed by a number is the octal
20064
20292
  representation of a character. To include a literal '\' in the
20065
- replacement, write '\\'.
20293
+ replacement, write '\\\\'.
20066
20294
 
20067
20295
  There are also escapes that changes the case of the following text:
20068
20296
 
@@ -20569,7 +20797,7 @@ it using g_strfreev()</doc>
20569
20797
  setting.</doc>
20570
20798
  </member>
20571
20799
  <member name="dotall" value="4" c:identifier="G_REGEX_DOTALL">
20572
- <doc xml:space="preserve">A dot metacharater (".") in the pattern matches all
20800
+ <doc xml:space="preserve">A dot metacharacter (".") in the pattern matches all
20573
20801
  characters, including newlines. Without it, newlines are excluded.
20574
20802
  This option can be changed within a pattern by a ("?s") option setting.</doc>
20575
20803
  </member>
@@ -20586,7 +20814,7 @@ it using g_strfreev()</doc>
20586
20814
  it is constrained to match only at the first matching point in the
20587
20815
  string that is being searched. This effect can also be achieved by
20588
20816
  appropriate constructs in the pattern itself such as the "^"
20589
- metacharater.</doc>
20817
+ metacharacter.</doc>
20590
20818
  </member>
20591
20819
  <member name="dollar_endonly"
20592
20820
  value="32"
@@ -21035,7 +21263,7 @@ to g_regex_replace_eval(), and it should append the replacement to
21035
21263
  it is constrained to match only at the first matching point in the
21036
21264
  string that is being searched. This effect can also be achieved by
21037
21265
  appropriate constructs in the pattern itself such as the "^"
21038
- metacharater.</doc>
21266
+ metacharacter.</doc>
21039
21267
  </member>
21040
21268
  <member name="notbol" value="128" c:identifier="G_REGEX_MATCH_NOTBOL">
21041
21269
  <doc xml:space="preserve">Specifies that first character of the string is
@@ -21434,7 +21662,10 @@ given user data.</doc>
21434
21662
  <function name="foreach"
21435
21663
  c:identifier="g_slist_foreach"
21436
21664
  introspectable="0">
21437
- <doc xml:space="preserve">Calls a function for each element of a #GSList.</doc>
21665
+ <doc xml:space="preserve">Calls a function for each element of a #GSList.
21666
+
21667
+ It is safe for @func to remove the element from @list, but it must
21668
+ not modify any part of the list after that element.</doc>
21438
21669
  <return-value transfer-ownership="none">
21439
21670
  <type name="none" c:type="void"/>
21440
21671
  </return-value>
@@ -21497,7 +21728,10 @@ It is usually used after g_slist_remove_link().</doc>
21497
21728
  version="2.28"
21498
21729
  introspectable="0">
21499
21730
  <doc xml:space="preserve">Convenience method, which frees all the memory used by a #GSList, and
21500
- calls the specified destroy function on every element's data.</doc>
21731
+ calls the specified destroy function on every element's data.
21732
+
21733
+ @free_func must not modify the list (eg, by removing the freed
21734
+ element from it).</doc>
21501
21735
  <return-value transfer-ownership="none">
21502
21736
  <type name="none" c:type="void"/>
21503
21737
  </return-value>
@@ -21928,7 +22162,8 @@ such as the doubly-linked #GList.</doc>
21928
22162
  </parameters>
21929
22163
  </function>
21930
22164
  <function name="sort" c:identifier="g_slist_sort" introspectable="0">
21931
- <doc xml:space="preserve">Sorts a #GSList using the given comparison function.</doc>
22165
+ <doc xml:space="preserve">Sorts a #GSList using the given comparison function. The algorithm
22166
+ used is a stable sort.</doc>
21932
22167
  <return-value>
21933
22168
  <doc xml:space="preserve">the start of the sorted #GSList</doc>
21934
22169
  <type name="GLib.SList" c:type="GSList*">
@@ -22759,7 +22994,7 @@ g_io_channel_seek_position() operation.</doc>
22759
22994
  version="2.14"
22760
22995
  introspectable="0">
22761
22996
  <doc xml:space="preserve">Calls @func for each item in the sequence passing @user_data
22762
- to the function.</doc>
22997
+ to the function. @func must not modify the sequence itself.</doc>
22763
22998
  <return-value transfer-ownership="none">
22764
22999
  <type name="none" c:type="void"/>
22765
23000
  </return-value>
@@ -22873,7 +23108,11 @@ otherwise the new position of @data is undefined.
22873
23108
  @cmp_func is called with two items of the @seq and @user_data.
22874
23109
  It should return 0 if the items are equal, a negative value
22875
23110
  if the first item comes before the second, and a positive value
22876
- if the second item comes before the first.</doc>
23111
+ if the second item comes before the first.
23112
+
23113
+ Note that when adding a large amount of data to a #GSequence,
23114
+ it is more efficient to do unsorted insertions and then call
23115
+ g_sequence_sort() or g_sequence_sort_iter().</doc>
22877
23116
  <return-value transfer-ownership="none">
22878
23117
  <doc xml:space="preserve">a #GSequenceIter pointing to the new item.</doc>
22879
23118
  <type name="SequenceIter" c:type="GSequenceIter*"/>
@@ -22919,7 +23158,11 @@ positive value if the second iterator comes before the first.
22919
23158
  It is called with two iterators pointing into @seq. It should
22920
23159
  return 0 if the iterators are equal, a negative value if the
22921
23160
  first iterator comes before the second, and a positive value
22922
- if the second iterator comes before the first.</doc>
23161
+ if the second iterator comes before the first.
23162
+
23163
+ Note that when adding a large amount of data to a #GSequence,
23164
+ it is more efficient to do unsorted insertions and then call
23165
+ g_sequence_sort() or g_sequence_sort_iter().</doc>
22923
23166
  <return-value transfer-ownership="none">
22924
23167
  <doc xml:space="preserve">a #GSequenceIter pointing to the new item</doc>
22925
23168
  <type name="SequenceIter" c:type="GSequenceIter*"/>
@@ -22985,10 +23228,7 @@ the first item comes before the second, and a positive value if
22985
23228
  the second item comes before the first.
22986
23229
 
22987
23230
  This function will fail if the data contained in the sequence is
22988
- unsorted. Use g_sequence_insert_sorted() or
22989
- g_sequence_insert_sorted_iter() to add data to your sequence or, if
22990
- you want to add a large amount of data, call g_sequence_sort() after
22991
- doing unsorted insertions.</doc>
23231
+ unsorted.</doc>
22992
23232
  <return-value transfer-ownership="none" nullable="1">
22993
23233
  <doc xml:space="preserve">an #GSequenceIter pointing to the position of the
22994
23234
  first item found equal to @data according to @cmp_func and
@@ -23033,10 +23273,7 @@ if the first iterator comes before the second, and a positive
23033
23273
  value if the second iterator comes before the first.
23034
23274
 
23035
23275
  This function will fail if the data contained in the sequence is
23036
- unsorted. Use g_sequence_insert_sorted() or
23037
- g_sequence_insert_sorted_iter() to add data to your sequence or, if
23038
- you want to add a large amount of data, call g_sequence_sort() after
23039
- doing unsorted insertions.</doc>
23276
+ unsorted.</doc>
23040
23277
  <return-value transfer-ownership="none" nullable="1">
23041
23278
  <doc xml:space="preserve">an #GSequenceIter pointing to the position of
23042
23279
  the first item found equal to @data according to @cmp_func
@@ -23105,10 +23342,7 @@ If you are simply searching for an existing element of the sequence,
23105
23342
  consider using g_sequence_lookup().
23106
23343
 
23107
23344
  This function will fail if the data contained in the sequence is
23108
- unsorted. Use g_sequence_insert_sorted() or
23109
- g_sequence_insert_sorted_iter() to add data to your sequence or, if
23110
- you want to add a large amount of data, call g_sequence_sort() after
23111
- doing unsorted insertions.</doc>
23345
+ unsorted.</doc>
23112
23346
  <return-value transfer-ownership="none">
23113
23347
  <doc xml:space="preserve">an #GSequenceIter pointing to the position where @data
23114
23348
  would have been inserted according to @cmp_func and @cmp_data</doc>
@@ -23155,10 +23389,7 @@ If you are simply searching for an existing element of the sequence,
23155
23389
  consider using g_sequence_lookup_iter().
23156
23390
 
23157
23391
  This function will fail if the data contained in the sequence is
23158
- unsorted. Use g_sequence_insert_sorted() or
23159
- g_sequence_insert_sorted_iter() to add data to your sequence or, if
23160
- you want to add a large amount of data, call g_sequence_sort() after
23161
- doing unsorted insertions.</doc>
23392
+ unsorted.</doc>
23162
23393
  <return-value transfer-ownership="none">
23163
23394
  <doc xml:space="preserve">a #GSequenceIter pointing to the position in @seq
23164
23395
  where @data would have been inserted according to @iter_cmp
@@ -23260,7 +23491,8 @@ iterator comes before the first.</doc>
23260
23491
  version="2.14"
23261
23492
  introspectable="0">
23262
23493
  <doc xml:space="preserve">Calls @func for each item in the range (@begin, @end) passing
23263
- @user_data to the function.</doc>
23494
+ @user_data to the function. @func must not modify the sequence
23495
+ itself.</doc>
23264
23496
  <return-value transfer-ownership="none">
23265
23497
  <type name="none" c:type="void"/>
23266
23498
  </return-value>
@@ -24397,7 +24629,7 @@ so yourself, from the source dispatch function.
24397
24629
  Note that if you have a pair of sources where the ready time of one
24398
24630
  suggests that it will be delivered first but the priority for the
24399
24631
  other suggests that it would be delivered first, and the ready time
24400
- for both sources is reached during the same main context iteration
24632
+ for both sources is reached during the same main context iteration,
24401
24633
  then the order of dispatch is undefined.
24402
24634
 
24403
24635
  It is a no-op to call this function on a #GSource which has already been
@@ -24435,17 +24667,15 @@ memory will be destroyed.</doc>
24435
24667
  </parameters>
24436
24668
  </method>
24437
24669
  <function name="remove" c:identifier="g_source_remove">
24438
- <doc xml:space="preserve">Removes the source with the given id from the default main context.
24670
+ <doc xml:space="preserve">Removes the source with the given ID from the default main context. You must
24671
+ use g_source_destroy() for sources added to a non-default main context.
24439
24672
 
24440
- The id of a #GSource is given by g_source_get_id(), or will be
24673
+ The ID of a #GSource is given by g_source_get_id(), or will be
24441
24674
  returned by the functions g_source_attach(), g_idle_add(),
24442
24675
  g_idle_add_full(), g_timeout_add(), g_timeout_add_full(),
24443
24676
  g_child_watch_add(), g_child_watch_add_full(), g_io_add_watch(), and
24444
24677
  g_io_add_watch_full().
24445
24678
 
24446
- See also g_source_destroy(). You must use g_source_destroy() for sources
24447
- added to a non-default main context.
24448
-
24449
24679
  It is a programmer error to attempt to remove a non-existent source.
24450
24680
 
24451
24681
  More specifically: source IDs can be reissued after a source has been
@@ -26009,6 +26239,16 @@ zero then @fixture will be equal to @user_data.</doc>
26009
26239
  c:identifier="G_TEST_LOG_STOP_SUITE">
26010
26240
  </member>
26011
26241
  </enumeration>
26242
+ <enumeration name="TestResult" c:type="GTestResult">
26243
+ <member name="success" value="0" c:identifier="G_TEST_RUN_SUCCESS">
26244
+ </member>
26245
+ <member name="skipped" value="1" c:identifier="G_TEST_RUN_SKIPPED">
26246
+ </member>
26247
+ <member name="failure" value="2" c:identifier="G_TEST_RUN_FAILURE">
26248
+ </member>
26249
+ <member name="incomplete" value="3" c:identifier="G_TEST_RUN_INCOMPLETE">
26250
+ </member>
26251
+ </enumeration>
26012
26252
  <bitfield name="TestSubprocessFlags" c:type="GTestSubprocessFlags">
26013
26253
  <doc xml:space="preserve">Flags to pass to g_test_trap_subprocess() to control input and output.
26014
26254
 
@@ -26080,7 +26320,7 @@ not show stdout and stderr.</doc>
26080
26320
  These flags determine what traps to set.</doc>
26081
26321
  <doc-deprecated xml:space="preserve">#GTestTrapFlags is used only with g_test_trap_fork(),
26082
26322
  which is deprecated. g_test_trap_subprocess() uses
26083
- #GTestTrapSubprocessFlags.</doc-deprecated>
26323
+ #GTestSubprocessFlags.</doc-deprecated>
26084
26324
  <member name="silence_stdout"
26085
26325
  value="128"
26086
26326
  c:identifier="G_TEST_TRAP_SILENCE_STDOUT">
@@ -28855,25 +29095,25 @@ See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr
28855
29095
  <doc xml:space="preserve">Osage. Since: 2.50</doc>
28856
29096
  </member>
28857
29097
  <member name="tangut" value="137" c:identifier="G_UNICODE_SCRIPT_TANGUT">
28858
- <doc xml:space="preserve">Tangut. Since: 2.50
28859
- @G_UNICODE_SCRIPT_MASARAM_GONDI, Masaram Gondi. Since: 2.54
28860
- @G_UNICODE_SCRIPT_NUSHU, Nushu. Since: 2.54
28861
- @G_UNICODE_SCRIPT_SOYOMBO, Soyombo. Since: 2.54
28862
- @G_UNICODE_SCRIPT_ZANABAZAR_SQUARE Zanabazar Square. Since: 2.54</doc>
29098
+ <doc xml:space="preserve">Tangut. Since: 2.50</doc>
28863
29099
  </member>
28864
29100
  <member name="masaram_gondi"
28865
29101
  value="138"
28866
29102
  c:identifier="G_UNICODE_SCRIPT_MASARAM_GONDI">
29103
+ <doc xml:space="preserve">Masaram Gondi. Since: 2.54</doc>
28867
29104
  </member>
28868
29105
  <member name="nushu" value="139" c:identifier="G_UNICODE_SCRIPT_NUSHU">
29106
+ <doc xml:space="preserve">Nushu. Since: 2.54</doc>
28869
29107
  </member>
28870
29108
  <member name="soyombo"
28871
29109
  value="140"
28872
29110
  c:identifier="G_UNICODE_SCRIPT_SOYOMBO">
29111
+ <doc xml:space="preserve">Soyombo. Since: 2.54</doc>
28873
29112
  </member>
28874
29113
  <member name="zanabazar_square"
28875
29114
  value="141"
28876
29115
  c:identifier="G_UNICODE_SCRIPT_ZANABAZAR_SQUARE">
29116
+ <doc xml:space="preserve">Zanabazar Square. Since: 2.54</doc>
28877
29117
  </member>
28878
29118
  </enumeration>
28879
29119
  <enumeration name="UnicodeType" c:type="GUnicodeType">
@@ -29371,7 +29611,7 @@ const gchar *some_strings[] = { "a", "b", "c", NULL };
29371
29611
  GVariant *new_variant;
29372
29612
 
29373
29613
  new_variant = g_variant_new ("(t^as)",
29374
- /&lt;!-- --&gt;* This cast is required. *&lt;!-- --&gt;/
29614
+ // This cast is required.
29375
29615
  (guint64) some_flags,
29376
29616
  some_strings);
29377
29617
  ]|</doc>
@@ -30914,7 +31154,14 @@ If @value is found not to be in normal form then a new trusted
30914
31154
 
30915
31155
  It makes sense to call this function if you've received #GVariant
30916
31156
  data from untrusted sources and you want to ensure your serialised
30917
- output is definitely in normal form.</doc>
31157
+ output is definitely in normal form.
31158
+
31159
+ If @value is already in normal form, a new reference will be returned
31160
+ (which will be floating if @value is floating). If it is not in normal form,
31161
+ the newly created #GVariant will be returned with a single non-floating
31162
+ reference. Typically, g_variant_take_ref() should be called on the return
31163
+ value from this function to guarantee ownership of a single non-floating
31164
+ reference to it.</doc>
30918
31165
  <return-value transfer-ownership="full">
30919
31166
  <doc xml:space="preserve">a trusted #GVariant</doc>
30920
31167
  <type name="Variant" c:type="GVariant*"/>
@@ -33907,7 +34154,7 @@ See your C library manual for more details about access().</doc>
33907
34154
  <parameter name="filename" transfer-ownership="none">
33908
34155
  <doc xml:space="preserve">a pathname in the GLib file name encoding
33909
34156
  (UTF-8 on Windows)</doc>
33910
- <type name="filename" c:type="gchar*"/>
34157
+ <type name="filename" c:type="const gchar*"/>
33911
34158
  </parameter>
33912
34159
  <parameter name="mode" transfer-ownership="none">
33913
34160
  <doc xml:space="preserve">as in access()</doc>
@@ -35099,7 +35346,8 @@ by overwriting the input data.</doc>
35099
35346
  </function>
35100
35347
  <function name="base64_decode_step"
35101
35348
  c:identifier="g_base64_decode_step"
35102
- version="2.12">
35349
+ version="2.12"
35350
+ introspectable="0">
35103
35351
  <doc xml:space="preserve">Incrementally decode a sequence of binary data from its Base-64 stringified
35104
35352
  representation. By calling this function multiple times you can convert
35105
35353
  data in chunks to avoid having to have the full encoded data in memory.
@@ -35125,8 +35373,8 @@ state).</doc>
35125
35373
  </parameter>
35126
35374
  <parameter name="out"
35127
35375
  direction="out"
35128
- caller-allocates="0"
35129
- transfer-ownership="full">
35376
+ caller-allocates="1"
35377
+ transfer-ownership="none">
35130
35378
  <doc xml:space="preserve">output buffer</doc>
35131
35379
  <array zero-terminated="0" c:type="guchar*">
35132
35380
  <type name="guint8"/>
@@ -35296,12 +35544,12 @@ string.</doc>
35296
35544
  <return-value transfer-ownership="none">
35297
35545
  <doc xml:space="preserve">the name of the file without any leading
35298
35546
  directory components</doc>
35299
- <type name="filename" c:type="gchar*"/>
35547
+ <type name="filename" c:type="const gchar*"/>
35300
35548
  </return-value>
35301
35549
  <parameters>
35302
35550
  <parameter name="file_name" transfer-ownership="none">
35303
35551
  <doc xml:space="preserve">the name of the file</doc>
35304
- <type name="filename" c:type="gchar*"/>
35552
+ <type name="filename" c:type="const gchar*"/>
35305
35553
  </parameter>
35306
35554
  </parameters>
35307
35555
  </function>
@@ -35473,7 +35721,7 @@ be a relative path.</doc>
35473
35721
  <parameters>
35474
35722
  <parameter name="first_element" transfer-ownership="none">
35475
35723
  <doc xml:space="preserve">the first element in the path</doc>
35476
- <type name="filename" c:type="gchar*"/>
35724
+ <type name="filename" c:type="const gchar*"/>
35477
35725
  </parameter>
35478
35726
  <parameter name="..." transfer-ownership="none">
35479
35727
  <doc xml:space="preserve">remaining elements in path, terminated by %NULL</doc>
@@ -35481,6 +35729,28 @@ be a relative path.</doc>
35481
35729
  </parameter>
35482
35730
  </parameters>
35483
35731
  </function>
35732
+ <function name="build_filename_valist"
35733
+ c:identifier="g_build_filename_valist"
35734
+ version="2.56"
35735
+ introspectable="0">
35736
+ <doc xml:space="preserve">Behaves exactly like g_build_filename(), but takes the path elements
35737
+ as a va_list. This function is mainly meant for language bindings.</doc>
35738
+ <return-value transfer-ownership="full">
35739
+ <doc xml:space="preserve">a newly-allocated string that must be freed
35740
+ with g_free().</doc>
35741
+ <type name="filename" c:type="gchar*"/>
35742
+ </return-value>
35743
+ <parameters>
35744
+ <parameter name="first_element" transfer-ownership="none">
35745
+ <doc xml:space="preserve">the first element in the path</doc>
35746
+ <type name="filename" c:type="const gchar*"/>
35747
+ </parameter>
35748
+ <parameter name="args" transfer-ownership="none">
35749
+ <doc xml:space="preserve">va_list of remaining elements in path</doc>
35750
+ <type name="va_list" c:type="va_list*"/>
35751
+ </parameter>
35752
+ </parameters>
35753
+ </function>
35484
35754
  <function name="build_filenamev"
35485
35755
  c:identifier="g_build_filenamev"
35486
35756
  version="2.8">
@@ -35537,11 +35807,11 @@ of the separator are ignored.</doc>
35537
35807
  <parameters>
35538
35808
  <parameter name="separator" transfer-ownership="none">
35539
35809
  <doc xml:space="preserve">a string used to separator the elements of the path.</doc>
35540
- <type name="filename" c:type="gchar*"/>
35810
+ <type name="filename" c:type="const gchar*"/>
35541
35811
  </parameter>
35542
35812
  <parameter name="first_element" transfer-ownership="none">
35543
35813
  <doc xml:space="preserve">the first element in the path</doc>
35544
- <type name="filename" c:type="gchar*"/>
35814
+ <type name="filename" c:type="const gchar*"/>
35545
35815
  </parameter>
35546
35816
  <parameter name="..." transfer-ownership="none">
35547
35817
  <doc xml:space="preserve">remaining elements in path, terminated by %NULL</doc>
@@ -35692,7 +35962,7 @@ See your C library manual for more details about chdir().</doc>
35692
35962
  <parameter name="path" transfer-ownership="none">
35693
35963
  <doc xml:space="preserve">a pathname in the GLib file name encoding
35694
35964
  (UTF-8 on Windows)</doc>
35695
- <type name="filename" c:type="gchar*"/>
35965
+ <type name="filename" c:type="const gchar*"/>
35696
35966
  </parameter>
35697
35967
  </parameters>
35698
35968
  </function>
@@ -35770,6 +36040,8 @@ source is still active. Typically, you will want to call
35770
36040
  g_spawn_close_pid() in the callback function for the source.
35771
36041
 
35772
36042
  GLib supports only a single callback per process id.
36043
+ On POSIX platforms, the same restrictions mentioned for
36044
+ g_child_watch_source_new() apply to this function.
35773
36045
 
35774
36046
  This internally creates a main loop source using
35775
36047
  g_child_watch_source_new() and attaches it to the main loop context
@@ -35820,6 +36092,8 @@ is still active. Typically, you should invoke g_spawn_close_pid()
35820
36092
  in the callback function for the source.
35821
36093
 
35822
36094
  GLib supports only a single callback per process id.
36095
+ On POSIX platforms, the same restrictions mentioned for
36096
+ g_child_watch_source_new() apply to this function.
35823
36097
 
35824
36098
  This internally creates a main loop source using
35825
36099
  g_child_watch_source_new() and attaches it to the main loop context
@@ -35882,14 +36156,24 @@ Note that on platforms where #GPid must be explicitly closed
35882
36156
  source is still active. Typically, you will want to call
35883
36157
  g_spawn_close_pid() in the callback function for the source.
35884
36158
 
35885
- Note further that using g_child_watch_source_new() is not
35886
- compatible with calling `waitpid` with a nonpositive first
35887
- argument in the application. Calling waitpid() for individual
35888
- pids will still work fine.
36159
+ On POSIX platforms, the following restrictions apply to this API
36160
+ due to limitations in POSIX process interfaces:
36161
+
36162
+ * @pid must be a child of this process
36163
+ * @pid must be positive
36164
+ * the application must not call `waitpid` with a non-positive
36165
+ first argument, for instance in another thread
36166
+ * the application must not wait for @pid to exit by any other
36167
+ mechanism, including `waitpid(pid, ...)` or a second child-watch
36168
+ source for the same @pid
36169
+ * the application must not ignore SIGCHILD
35889
36170
 
35890
- Similarly, on POSIX platforms, the @pid passed to this function must
35891
- be greater than 0 (i.e. this function must wait for a specific child,
35892
- and cannot wait for one of many children by using a nonpositive argument).</doc>
36171
+ If any of those conditions are not met, this and related APIs will
36172
+ not work correctly. This can often be diagnosed via a GLib warning
36173
+ stating that `ECHILD` was received by `waitpid`.
36174
+
36175
+ Calling `waitpid` for specific processes other than @pid remains a
36176
+ valid thing to do.</doc>
35893
36177
  <return-value transfer-ownership="full">
35894
36178
  <doc xml:space="preserve">the newly-created child watch source</doc>
35895
36179
  <type name="Source" c:type="GSource*"/>
@@ -35921,7 +36205,7 @@ See your C library manual for more details about chmod().</doc>
35921
36205
  <parameter name="filename" transfer-ownership="none">
35922
36206
  <doc xml:space="preserve">a pathname in the GLib file name encoding
35923
36207
  (UTF-8 on Windows)</doc>
35924
- <type name="filename" c:type="gchar*"/>
36208
+ <type name="filename" c:type="const gchar*"/>
35925
36209
  </parameter>
35926
36210
  <parameter name="mode" transfer-ownership="none">
35927
36211
  <doc xml:space="preserve">as in chmod()</doc>
@@ -35936,6 +36220,34 @@ calls g_error_free() on *@err and sets *@err to %NULL.</doc>
35936
36220
  <type name="none" c:type="void"/>
35937
36221
  </return-value>
35938
36222
  </function>
36223
+ <function name="clear_handle_id"
36224
+ c:identifier="g_clear_handle_id"
36225
+ version="2.56"
36226
+ introspectable="0">
36227
+ <doc xml:space="preserve">Clears a numeric handler, such as a #GSource ID.
36228
+
36229
+ @tag_ptr must be a valid pointer to the variable holding the handler.
36230
+
36231
+ If the ID is zero then this function does nothing.
36232
+ Otherwise, clear_func() is called with the ID as a parameter, and the tag is
36233
+ set to zero.
36234
+
36235
+ A macro is also included that allows this function to be used without
36236
+ pointer casts.</doc>
36237
+ <return-value transfer-ownership="none">
36238
+ <type name="none" c:type="void"/>
36239
+ </return-value>
36240
+ <parameters>
36241
+ <parameter name="tag_ptr" transfer-ownership="none">
36242
+ <doc xml:space="preserve">a pointer to the handler ID</doc>
36243
+ <type name="guint" c:type="guint*"/>
36244
+ </parameter>
36245
+ <parameter name="clear_func" transfer-ownership="none">
36246
+ <doc xml:space="preserve">the function to call to clear the handler</doc>
36247
+ <type name="ClearHandleFunc" c:type="GClearHandleFunc"/>
36248
+ </parameter>
36249
+ </parameters>
36250
+ </function>
35939
36251
  <function name="clear_pointer"
35940
36252
  c:identifier="g_clear_pointer"
35941
36253
  version="2.34"
@@ -36173,7 +36485,7 @@ The hexadecimal string returned will be in lower case.</doc>
36173
36485
  <doc xml:space="preserve">Converts a string from one character set to another.
36174
36486
 
36175
36487
  Note that you should use g_iconv() for streaming conversions.
36176
- Despite the fact that @byes_read can return information about partial
36488
+ Despite the fact that @bytes_read can return information about partial
36177
36489
  characters, the g_convert_... functions are not generally suitable
36178
36490
  for streaming. If the underlying converter maintains internal state,
36179
36491
  then this won't be preserved across successive calls to g_convert(),
@@ -36185,15 +36497,21 @@ could combine with the base character.)
36185
36497
  Using extensions such as "//TRANSLIT" may not work (or may not work
36186
36498
  well) on many platforms. Consider using g_str_to_ascii() instead.</doc>
36187
36499
  <return-value transfer-ownership="full">
36188
- <doc xml:space="preserve">If the conversion was successful, a newly allocated
36189
- nul-terminated string, which must be freed with
36190
- g_free(). Otherwise %NULL and @error will be set.</doc>
36191
- <type name="utf8" c:type="gchar*"/>
36500
+ <doc xml:space="preserve">
36501
+ If the conversion was successful, a newly allocated buffer
36502
+ containing the converted string, which must be freed with g_free().
36503
+ Otherwise %NULL and @error will be set.</doc>
36504
+ <array length="5" zero-terminated="0" c:type="gchar*">
36505
+ <type name="guint8"/>
36506
+ </array>
36192
36507
  </return-value>
36193
36508
  <parameters>
36194
36509
  <parameter name="str" transfer-ownership="none">
36195
- <doc xml:space="preserve">the string to convert</doc>
36196
- <type name="utf8" c:type="const gchar*"/>
36510
+ <doc xml:space="preserve">
36511
+ the string to convert.</doc>
36512
+ <array length="1" zero-terminated="0" c:type="gchar*">
36513
+ <type name="guint8"/>
36514
+ </array>
36197
36515
  </parameter>
36198
36516
  <parameter name="len" transfer-ownership="none">
36199
36517
  <doc xml:space="preserve">the length of the string in bytes, or -1 if the string is
@@ -36213,23 +36531,27 @@ well) on many platforms. Consider using g_str_to_ascii() instead.</doc>
36213
36531
  <parameter name="bytes_read"
36214
36532
  direction="out"
36215
36533
  caller-allocates="0"
36216
- transfer-ownership="full">
36217
- <doc xml:space="preserve">location to store the number of bytes in the
36218
- input string that were successfully converted, or %NULL.
36534
+ transfer-ownership="full"
36535
+ optional="1"
36536
+ allow-none="1">
36537
+ <doc xml:space="preserve">location to store the number of bytes in
36538
+ the input string that were successfully converted, or %NULL.
36219
36539
  Even if the conversion was successful, this may be
36220
36540
  less than @len if there were partial characters
36221
36541
  at the end of the input. If the error
36222
36542
  #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
36223
- stored will the byte offset after the last valid
36543
+ stored will be the byte offset after the last valid
36224
36544
  input sequence.</doc>
36225
36545
  <type name="gsize" c:type="gsize*"/>
36226
36546
  </parameter>
36227
36547
  <parameter name="bytes_written"
36228
36548
  direction="out"
36229
36549
  caller-allocates="0"
36230
- transfer-ownership="full">
36231
- <doc xml:space="preserve">the number of bytes stored in the output buffer (not
36232
- including the terminating nul).</doc>
36550
+ transfer-ownership="full"
36551
+ optional="1"
36552
+ allow-none="1">
36553
+ <doc xml:space="preserve">the number of bytes stored in
36554
+ the output buffer (not including the terminating nul).</doc>
36233
36555
  <type name="gsize" c:type="gsize*"/>
36234
36556
  </parameter>
36235
36557
  </parameters>
@@ -36251,7 +36573,7 @@ to @to_codeset in their iconv() functions,
36251
36573
  in which case GLib will simply return that approximate conversion.
36252
36574
 
36253
36575
  Note that you should use g_iconv() for streaming conversions.
36254
- Despite the fact that @byes_read can return information about partial
36576
+ Despite the fact that @bytes_read can return information about partial
36255
36577
  characters, the g_convert_... functions are not generally suitable
36256
36578
  for streaming. If the underlying converter maintains internal state,
36257
36579
  then this won't be preserved across successive calls to g_convert(),
@@ -36260,15 +36582,21 @@ this is the GNU C converter for CP1255 which does not emit a base
36260
36582
  character until it knows that the next character is not a mark that
36261
36583
  could combine with the base character.)</doc>
36262
36584
  <return-value transfer-ownership="full">
36263
- <doc xml:space="preserve">If the conversion was successful, a newly allocated
36264
- nul-terminated string, which must be freed with
36265
- g_free(). Otherwise %NULL and @error will be set.</doc>
36266
- <type name="utf8" c:type="gchar*"/>
36585
+ <doc xml:space="preserve">
36586
+ If the conversion was successful, a newly allocated buffer
36587
+ containing the converted string, which must be freed with g_free().
36588
+ Otherwise %NULL and @error will be set.</doc>
36589
+ <array length="6" zero-terminated="0" c:type="gchar*">
36590
+ <type name="guint8"/>
36591
+ </array>
36267
36592
  </return-value>
36268
36593
  <parameters>
36269
36594
  <parameter name="str" transfer-ownership="none">
36270
- <doc xml:space="preserve">the string to convert</doc>
36271
- <type name="utf8" c:type="const gchar*"/>
36595
+ <doc xml:space="preserve">
36596
+ the string to convert.</doc>
36597
+ <array length="1" zero-terminated="0" c:type="gchar*">
36598
+ <type name="guint8"/>
36599
+ </array>
36272
36600
  </parameter>
36273
36601
  <parameter name="len" transfer-ownership="none">
36274
36602
  <doc xml:space="preserve">the length of the string in bytes, or -1 if the string is
@@ -36286,52 +36614,77 @@ could combine with the base character.)</doc>
36286
36614
  <type name="utf8" c:type="const gchar*"/>
36287
36615
  </parameter>
36288
36616
  <parameter name="fallback" transfer-ownership="none">
36289
- <doc xml:space="preserve">UTF-8 string to use in place of character not
36617
+ <doc xml:space="preserve">UTF-8 string to use in place of characters not
36290
36618
  present in the target encoding. (The string must be
36291
36619
  representable in the target encoding).
36292
- If %NULL, characters not in the target encoding will
36293
- be represented as Unicode escapes \uxxxx or \Uxxxxyyyy.</doc>
36620
+ If %NULL, characters not in the target encoding will
36621
+ be represented as Unicode escapes \uxxxx or \Uxxxxyyyy.</doc>
36294
36622
  <type name="utf8" c:type="const gchar*"/>
36295
36623
  </parameter>
36296
- <parameter name="bytes_read" transfer-ownership="none">
36297
- <doc xml:space="preserve">location to store the number of bytes in the
36298
- input string that were successfully converted, or %NULL.
36624
+ <parameter name="bytes_read"
36625
+ direction="out"
36626
+ caller-allocates="0"
36627
+ transfer-ownership="full"
36628
+ optional="1"
36629
+ allow-none="1">
36630
+ <doc xml:space="preserve">location to store the number of bytes in
36631
+ the input string that were successfully converted, or %NULL.
36299
36632
  Even if the conversion was successful, this may be
36300
36633
  less than @len if there were partial characters
36301
36634
  at the end of the input.</doc>
36302
36635
  <type name="gsize" c:type="gsize*"/>
36303
36636
  </parameter>
36304
- <parameter name="bytes_written" transfer-ownership="none">
36305
- <doc xml:space="preserve">the number of bytes stored in the output buffer (not
36306
- including the terminating nul).</doc>
36637
+ <parameter name="bytes_written"
36638
+ direction="out"
36639
+ caller-allocates="0"
36640
+ transfer-ownership="full"
36641
+ optional="1"
36642
+ allow-none="1">
36643
+ <doc xml:space="preserve">the number of bytes stored in
36644
+ the output buffer (not including the terminating nul).</doc>
36307
36645
  <type name="gsize" c:type="gsize*"/>
36308
36646
  </parameter>
36309
36647
  </parameters>
36310
36648
  </function>
36311
36649
  <function name="convert_with_iconv"
36312
36650
  c:identifier="g_convert_with_iconv"
36651
+ introspectable="0"
36313
36652
  throws="1">
36314
36653
  <doc xml:space="preserve">Converts a string from one character set to another.
36315
36654
 
36316
36655
  Note that you should use g_iconv() for streaming conversions.
36317
- Despite the fact that @byes_read can return information about partial
36656
+ Despite the fact that @bytes_read can return information about partial
36318
36657
  characters, the g_convert_... functions are not generally suitable
36319
36658
  for streaming. If the underlying converter maintains internal state,
36320
36659
  then this won't be preserved across successive calls to g_convert(),
36321
36660
  g_convert_with_iconv() or g_convert_with_fallback(). (An example of
36322
36661
  this is the GNU C converter for CP1255 which does not emit a base
36323
36662
  character until it knows that the next character is not a mark that
36324
- could combine with the base character.)</doc>
36663
+ could combine with the base character.)
36664
+
36665
+ Characters which are valid in the input character set, but which have no
36666
+ representation in the output character set will result in a
36667
+ %G_CONVERT_ERROR_ILLEGAL_SEQUENCE error. This is in contrast to the iconv()
36668
+ specification, which leaves this behaviour implementation defined. Note that
36669
+ this is the same error code as is returned for an invalid byte sequence in
36670
+ the input character set. To get defined behaviour for conversion of
36671
+ unrepresentable characters, use g_convert_with_fallback().</doc>
36325
36672
  <return-value transfer-ownership="full">
36326
- <doc xml:space="preserve">If the conversion was successful, a newly allocated
36327
- nul-terminated string, which must be freed with
36673
+ <doc xml:space="preserve">
36674
+ If the conversion was successful, a newly allocated buffer
36675
+ containing the converted string, which must be freed with
36328
36676
  g_free(). Otherwise %NULL and @error will be set.</doc>
36329
- <type name="utf8" c:type="gchar*"/>
36677
+ <array length="4" zero-terminated="0" c:type="gchar*">
36678
+ <type name="guint8"/>
36679
+ </array>
36330
36680
  </return-value>
36331
36681
  <parameters>
36332
36682
  <parameter name="str" transfer-ownership="none">
36333
- <doc xml:space="preserve">the string to convert</doc>
36334
- <type name="utf8" c:type="const gchar*"/>
36683
+ <doc xml:space="preserve">
36684
+ the string to convert.</doc>
36685
+ <array length="1" zero-terminated="0" c:type="gchar*">
36686
+ <type name="guint8"/>
36687
+ </array>
36335
36688
  </parameter>
36336
36689
  <parameter name="len" transfer-ownership="none">
36337
36690
  <doc xml:space="preserve">the length of the string in bytes, or -1 if the string is
@@ -36344,20 +36697,30 @@ could combine with the base character.)</doc>
36344
36697
  <doc xml:space="preserve">conversion descriptor from g_iconv_open()</doc>
36345
36698
  <type name="IConv" c:type="GIConv"/>
36346
36699
  </parameter>
36347
- <parameter name="bytes_read" transfer-ownership="none">
36348
- <doc xml:space="preserve">location to store the number of bytes in the
36349
- input string that were successfully converted, or %NULL.
36700
+ <parameter name="bytes_read"
36701
+ direction="out"
36702
+ caller-allocates="0"
36703
+ transfer-ownership="full"
36704
+ optional="1"
36705
+ allow-none="1">
36706
+ <doc xml:space="preserve">location to store the number of bytes in
36707
+ the input string that were successfully converted, or %NULL.
36350
36708
  Even if the conversion was successful, this may be
36351
36709
  less than @len if there were partial characters
36352
36710
  at the end of the input. If the error
36353
36711
  #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
36354
- stored will the byte offset after the last valid
36712
+ stored will be the byte offset after the last valid
36355
36713
  input sequence.</doc>
36356
36714
  <type name="gsize" c:type="gsize*"/>
36357
36715
  </parameter>
36358
- <parameter name="bytes_written" transfer-ownership="none">
36359
- <doc xml:space="preserve">the number of bytes stored in the output buffer (not
36360
- including the terminating nul).</doc>
36716
+ <parameter name="bytes_written"
36717
+ direction="out"
36718
+ caller-allocates="0"
36719
+ transfer-ownership="full"
36720
+ optional="1"
36721
+ allow-none="1">
36722
+ <doc xml:space="preserve">the number of bytes stored in
36723
+ the output buffer (not including the terminating nul).</doc>
36361
36724
  <type name="gsize" c:type="gsize*"/>
36362
36725
  </parameter>
36363
36726
  </parameters>
@@ -36392,7 +36755,7 @@ See your C library manual for more details about creat().</doc>
36392
36755
  <parameter name="filename" transfer-ownership="none">
36393
36756
  <doc xml:space="preserve">a pathname in the GLib file name encoding
36394
36757
  (UTF-8 on Windows)</doc>
36395
- <type name="filename" c:type="gchar*"/>
36758
+ <type name="filename" c:type="const gchar*"/>
36396
36759
  </parameter>
36397
36760
  <parameter name="mode" transfer-ownership="none">
36398
36761
  <doc xml:space="preserve">as in creat()</doc>
@@ -36400,7 +36763,9 @@ See your C library manual for more details about creat().</doc>
36400
36763
  </parameter>
36401
36764
  </parameters>
36402
36765
  </function>
36403
- <function name="datalist_clear" c:identifier="g_datalist_clear">
36766
+ <function name="datalist_clear"
36767
+ c:identifier="g_datalist_clear"
36768
+ introspectable="0">
36404
36769
  <doc xml:space="preserve">Frees all the data elements of the datalist.
36405
36770
  The data elements' destroy functions are called
36406
36771
  if they have been set.</doc>
@@ -36414,15 +36779,17 @@ if they have been set.</doc>
36414
36779
  </parameter>
36415
36780
  </parameters>
36416
36781
  </function>
36417
- <function name="datalist_foreach"
36418
- c:identifier="g_datalist_foreach"
36419
- introspectable="0">
36782
+ <function name="datalist_foreach" c:identifier="g_datalist_foreach">
36420
36783
  <doc xml:space="preserve">Calls the given function for each data element of the datalist. The
36421
36784
  function is called with each data element's #GQuark id and data,
36422
36785
  together with the given @user_data parameter. Note that this
36423
36786
  function is NOT thread-safe. So unless @datalist can be protected
36424
36787
  from any modifications during invocation of this function, it should
36425
- not be called.</doc>
36788
+ not be called.
36789
+
36790
+ @func can make changes to @datalist, but the iteration will not
36791
+ reflect changes made during the g_datalist_foreach() call, other
36792
+ than skipping over elements that are removed.</doc>
36426
36793
  <return-value transfer-ownership="none">
36427
36794
  <type name="none" c:type="void"/>
36428
36795
  </return-value>
@@ -36431,7 +36798,10 @@ not be called.</doc>
36431
36798
  <doc xml:space="preserve">a datalist.</doc>
36432
36799
  <type name="Data" c:type="GData**"/>
36433
36800
  </parameter>
36434
- <parameter name="func" transfer-ownership="none" closure="2">
36801
+ <parameter name="func"
36802
+ transfer-ownership="none"
36803
+ scope="call"
36804
+ closure="2">
36435
36805
  <doc xml:space="preserve">the function to call for each data element.</doc>
36436
36806
  <type name="DataForeachFunc" c:type="GDataForeachFunc"/>
36437
36807
  </parameter>
@@ -36448,7 +36818,8 @@ not be called.</doc>
36448
36818
  <doc xml:space="preserve">Gets a data element, using its string identifier. This is slower than
36449
36819
  g_datalist_id_get_data() because it compares strings.</doc>
36450
36820
  <return-value transfer-ownership="none" nullable="1">
36451
- <doc xml:space="preserve">the data element, or %NULL if it is not found.</doc>
36821
+ <doc xml:space="preserve">the data element, or %NULL if it
36822
+ is not found.</doc>
36452
36823
  <type name="gpointer" c:type="gpointer"/>
36453
36824
  </return-value>
36454
36825
  <parameters>
@@ -36514,6 +36885,7 @@ threads are using the same datalist and the same key.</doc>
36514
36885
  transfer-ownership="none"
36515
36886
  nullable="1"
36516
36887
  allow-none="1"
36888
+ scope="call"
36517
36889
  closure="3">
36518
36890
  <doc xml:space="preserve">function to duplicate the old value</doc>
36519
36891
  <type name="DuplicateFunc" c:type="GDuplicateFunc"/>
@@ -36531,7 +36903,8 @@ threads are using the same datalist and the same key.</doc>
36531
36903
  c:identifier="g_datalist_id_get_data">
36532
36904
  <doc xml:space="preserve">Retrieves the data element corresponding to @key_id.</doc>
36533
36905
  <return-value transfer-ownership="none" nullable="1">
36534
- <doc xml:space="preserve">the data element, or %NULL if it is not found.</doc>
36906
+ <doc xml:space="preserve">the data element, or %NULL if
36907
+ it is not found.</doc>
36535
36908
  <type name="gpointer" c:type="gpointer"/>
36536
36909
  </return-value>
36537
36910
  <parameters>
@@ -36546,11 +36919,13 @@ threads are using the same datalist and the same key.</doc>
36546
36919
  </parameters>
36547
36920
  </function>
36548
36921
  <function name="datalist_id_remove_no_notify"
36549
- c:identifier="g_datalist_id_remove_no_notify">
36922
+ c:identifier="g_datalist_id_remove_no_notify"
36923
+ introspectable="0">
36550
36924
  <doc xml:space="preserve">Removes an element, without calling its destroy notification
36551
36925
  function.</doc>
36552
36926
  <return-value transfer-ownership="none" nullable="1">
36553
- <doc xml:space="preserve">the data previously stored at @key_id, or %NULL if none.</doc>
36927
+ <doc xml:space="preserve">the data previously stored at @key_id,
36928
+ or %NULL if none.</doc>
36554
36929
  <type name="gpointer" c:type="gpointer"/>
36555
36930
  </return-value>
36556
36931
  <parameters>
@@ -36566,7 +36941,8 @@ function.</doc>
36566
36941
  </function>
36567
36942
  <function name="datalist_id_replace_data"
36568
36943
  c:identifier="g_datalist_id_replace_data"
36569
- version="2.34">
36944
+ version="2.34"
36945
+ introspectable="0">
36570
36946
  <doc xml:space="preserve">Compares the member that is associated with @key_id in
36571
36947
  @datalist to @oldval, and if they are the same, replace
36572
36948
  @oldval with @newval.
@@ -36576,7 +36952,7 @@ operation, for a member of @datalist.
36576
36952
 
36577
36953
  If the previous value was replaced then ownership of the
36578
36954
  old value (@oldval) is passed to the caller, including
36579
- the registred destroy notify for it (passed out in @old_destroy).
36955
+ the registered destroy notify for it (passed out in @old_destroy).
36580
36956
  Its up to the caller to free this as he wishes, which may
36581
36957
  or may not include using @old_destroy as sometimes replacement
36582
36958
  should not destroy the object in the normal way.</doc>
@@ -36617,8 +36993,10 @@ should not destroy the object in the normal way.</doc>
36617
36993
  <type name="DestroyNotify" c:type="GDestroyNotify"/>
36618
36994
  </parameter>
36619
36995
  <parameter name="old_destroy"
36996
+ direction="out"
36997
+ caller-allocates="0"
36620
36998
  transfer-ownership="none"
36621
- nullable="1"
36999
+ optional="1"
36622
37000
  allow-none="1"
36623
37001
  scope="async">
36624
37002
  <doc xml:space="preserve">destroy notify for the existing value</doc>
@@ -36627,7 +37005,8 @@ should not destroy the object in the normal way.</doc>
36627
37005
  </parameters>
36628
37006
  </function>
36629
37007
  <function name="datalist_id_set_data_full"
36630
- c:identifier="g_datalist_id_set_data_full">
37008
+ c:identifier="g_datalist_id_set_data_full"
37009
+ introspectable="0">
36631
37010
  <doc xml:space="preserve">Sets the data corresponding to the given #GQuark id, and the
36632
37011
  function to be called when the element is removed from the datalist.
36633
37012
  Any previous data with the same key is removed, and its destroy
@@ -36652,7 +37031,11 @@ function is called.</doc>
36652
37031
  corresponding to @key_id.</doc>
36653
37032
  <type name="gpointer" c:type="gpointer"/>
36654
37033
  </parameter>
36655
- <parameter name="destroy_func" transfer-ownership="none" scope="async">
37034
+ <parameter name="destroy_func"
37035
+ transfer-ownership="none"
37036
+ nullable="1"
37037
+ allow-none="1"
37038
+ scope="async">
36656
37039
  <doc xml:space="preserve">the function to call when the data element is
36657
37040
  removed. This function will be called with the data
36658
37041
  element and can be used to free any memory allocated
@@ -36662,7 +37045,9 @@ function is called.</doc>
36662
37045
  </parameter>
36663
37046
  </parameters>
36664
37047
  </function>
36665
- <function name="datalist_init" c:identifier="g_datalist_init">
37048
+ <function name="datalist_init"
37049
+ c:identifier="g_datalist_init"
37050
+ introspectable="0">
36666
37051
  <doc xml:space="preserve">Resets the datalist to %NULL. It does not free any memory or call
36667
37052
  any destroy functions.</doc>
36668
37053
  <return-value transfer-ownership="none">
@@ -36737,13 +37122,15 @@ destroy functions set for data elements.</doc>
36737
37122
  </parameter>
36738
37123
  </parameters>
36739
37124
  </function>
36740
- <function name="dataset_foreach"
36741
- c:identifier="g_dataset_foreach"
36742
- introspectable="0">
37125
+ <function name="dataset_foreach" c:identifier="g_dataset_foreach">
36743
37126
  <doc xml:space="preserve">Calls the given function for each data element which is associated
36744
37127
  with the given location. Note that this function is NOT thread-safe.
36745
- So unless @datalist can be protected from any modifications during
36746
- invocation of this function, it should not be called.</doc>
37128
+ So unless @dataset_location can be protected from any modifications
37129
+ during invocation of this function, it should not be called.
37130
+
37131
+ @func can make changes to the dataset, but the iteration will not
37132
+ reflect changes made during the g_dataset_foreach() call, other
37133
+ than skipping over elements that are removed.</doc>
36747
37134
  <return-value transfer-ownership="none">
36748
37135
  <type name="none" c:type="void"/>
36749
37136
  </return-value>
@@ -36752,7 +37139,10 @@ invocation of this function, it should not be called.</doc>
36752
37139
  <doc xml:space="preserve">the location identifying the dataset.</doc>
36753
37140
  <type name="gpointer" c:type="gconstpointer"/>
36754
37141
  </parameter>
36755
- <parameter name="func" transfer-ownership="none" closure="2">
37142
+ <parameter name="func"
37143
+ transfer-ownership="none"
37144
+ scope="call"
37145
+ closure="2">
36756
37146
  <doc xml:space="preserve">the function to call for each data element.</doc>
36757
37147
  <type name="DataForeachFunc" c:type="GDataForeachFunc"/>
36758
37148
  </parameter>
@@ -36768,8 +37158,8 @@ invocation of this function, it should not be called.</doc>
36768
37158
  <function name="dataset_id_get_data" c:identifier="g_dataset_id_get_data">
36769
37159
  <doc xml:space="preserve">Gets the data element corresponding to a #GQuark.</doc>
36770
37160
  <return-value transfer-ownership="none" nullable="1">
36771
- <doc xml:space="preserve">the data element corresponding to the #GQuark, or %NULL if
36772
- it is not found.</doc>
37161
+ <doc xml:space="preserve">the data element corresponding to
37162
+ the #GQuark, or %NULL if it is not found.</doc>
36773
37163
  <type name="gpointer" c:type="gpointer"/>
36774
37164
  </return-value>
36775
37165
  <parameters>
@@ -36784,11 +37174,13 @@ invocation of this function, it should not be called.</doc>
36784
37174
  </parameters>
36785
37175
  </function>
36786
37176
  <function name="dataset_id_remove_no_notify"
36787
- c:identifier="g_dataset_id_remove_no_notify">
37177
+ c:identifier="g_dataset_id_remove_no_notify"
37178
+ introspectable="0">
36788
37179
  <doc xml:space="preserve">Removes an element, without calling its destroy notification
36789
37180
  function.</doc>
36790
37181
  <return-value transfer-ownership="none" nullable="1">
36791
- <doc xml:space="preserve">the data previously stored at @key_id, or %NULL if none.</doc>
37182
+ <doc xml:space="preserve">the data previously stored at @key_id,
37183
+ or %NULL if none.</doc>
36792
37184
  <type name="gpointer" c:type="gpointer"/>
36793
37185
  </return-value>
36794
37186
  <parameters>
@@ -36803,7 +37195,8 @@ function.</doc>
36803
37195
  </parameters>
36804
37196
  </function>
36805
37197
  <function name="dataset_id_set_data_full"
36806
- c:identifier="g_dataset_id_set_data_full">
37198
+ c:identifier="g_dataset_id_set_data_full"
37199
+ introspectable="0">
36807
37200
  <doc xml:space="preserve">Sets the data element associated with the given #GQuark id, and also
36808
37201
  the function to call when the data element is destroyed. Any
36809
37202
  previous data with the same key is removed, and its destroy function
@@ -37233,7 +37626,7 @@ modified, and might thus be a read-only literal string.</doc>
37233
37626
  allow-none="1">
37234
37627
  <doc xml:space="preserve">Template for directory name,
37235
37628
  as in g_mkdtemp(), basename only, or %NULL for a default template</doc>
37236
- <type name="filename" c:type="gchar*"/>
37629
+ <type name="filename" c:type="const gchar*"/>
37237
37630
  </parameter>
37238
37631
  </parameters>
37239
37632
  </function>
@@ -37441,23 +37834,23 @@ provided list @envp.</doc>
37441
37834
  the environment variable is not set in @envp. The returned
37442
37835
  string is owned by @envp, and will be freed if @variable is
37443
37836
  set or unset again.</doc>
37444
- <type name="utf8" c:type="const gchar*"/>
37837
+ <type name="filename" c:type="const gchar*"/>
37445
37838
  </return-value>
37446
37839
  <parameters>
37447
37840
  <parameter name="envp"
37448
37841
  transfer-ownership="none"
37449
37842
  nullable="1"
37450
37843
  allow-none="1">
37451
- <doc xml:space="preserve">an environment
37452
- list (eg, as returned from g_get_environ()), or %NULL
37844
+ <doc xml:space="preserve">
37845
+ an environment list (eg, as returned from g_get_environ()), or %NULL
37453
37846
  for an empty environment list</doc>
37454
37847
  <array c:type="gchar**">
37455
- <type name="utf8" c:type="gchar*"/>
37848
+ <type name="filename"/>
37456
37849
  </array>
37457
37850
  </parameter>
37458
37851
  <parameter name="variable" transfer-ownership="none">
37459
37852
  <doc xml:space="preserve">the environment variable to get</doc>
37460
- <type name="utf8" c:type="const gchar*"/>
37853
+ <type name="filename" c:type="const gchar*"/>
37461
37854
  </parameter>
37462
37855
  </parameters>
37463
37856
  </function>
@@ -37467,10 +37860,10 @@ provided list @envp.</doc>
37467
37860
  <doc xml:space="preserve">Sets the environment variable @variable in the provided list
37468
37861
  @envp to @value.</doc>
37469
37862
  <return-value transfer-ownership="full">
37470
- <doc xml:space="preserve">the
37471
- updated environment list. Free it using g_strfreev().</doc>
37863
+ <doc xml:space="preserve">
37864
+ the updated environment list. Free it using g_strfreev().</doc>
37472
37865
  <array c:type="gchar**">
37473
- <type name="utf8"/>
37866
+ <type name="filename"/>
37474
37867
  </array>
37475
37868
  </return-value>
37476
37869
  <parameters>
@@ -37478,21 +37871,22 @@ provided list @envp.</doc>
37478
37871
  transfer-ownership="full"
37479
37872
  nullable="1"
37480
37873
  allow-none="1">
37481
- <doc xml:space="preserve">an
37482
- environment list that can be freed using g_strfreev() (e.g., as
37874
+ <doc xml:space="preserve">
37875
+ an environment list that can be freed using g_strfreev() (e.g., as
37483
37876
  returned from g_get_environ()), or %NULL for an empty
37484
37877
  environment list</doc>
37485
37878
  <array c:type="gchar**">
37486
- <type name="utf8" c:type="gchar*"/>
37879
+ <type name="filename"/>
37487
37880
  </array>
37488
37881
  </parameter>
37489
37882
  <parameter name="variable" transfer-ownership="none">
37490
- <doc xml:space="preserve">the environment variable to set, must not contain '='</doc>
37491
- <type name="utf8" c:type="const gchar*"/>
37883
+ <doc xml:space="preserve">the environment variable to set, must not
37884
+ contain '='</doc>
37885
+ <type name="filename" c:type="const gchar*"/>
37492
37886
  </parameter>
37493
37887
  <parameter name="value" transfer-ownership="none">
37494
37888
  <doc xml:space="preserve">the value for to set the variable to</doc>
37495
- <type name="utf8" c:type="const gchar*"/>
37889
+ <type name="filename" c:type="const gchar*"/>
37496
37890
  </parameter>
37497
37891
  <parameter name="overwrite" transfer-ownership="none">
37498
37892
  <doc xml:space="preserve">whether to change the variable if it already exists</doc>
@@ -37506,10 +37900,10 @@ provided list @envp.</doc>
37506
37900
  <doc xml:space="preserve">Removes the environment variable @variable from the provided
37507
37901
  environment @envp.</doc>
37508
37902
  <return-value transfer-ownership="full">
37509
- <doc xml:space="preserve">the
37510
- updated environment list. Free it using g_strfreev().</doc>
37903
+ <doc xml:space="preserve">
37904
+ the updated environment list. Free it using g_strfreev().</doc>
37511
37905
  <array c:type="gchar**">
37512
- <type name="utf8"/>
37906
+ <type name="filename"/>
37513
37907
  </array>
37514
37908
  </return-value>
37515
37909
  <parameters>
@@ -37517,16 +37911,17 @@ environment @envp.</doc>
37517
37911
  transfer-ownership="full"
37518
37912
  nullable="1"
37519
37913
  allow-none="1">
37520
- <doc xml:space="preserve">an environment
37521
- list that can be freed using g_strfreev() (e.g., as returned from g_get_environ()),
37522
- or %NULL for an empty environment list</doc>
37914
+ <doc xml:space="preserve">
37915
+ an environment list that can be freed using g_strfreev() (e.g., as
37916
+ returned from g_get_environ()), or %NULL for an empty environment list</doc>
37523
37917
  <array c:type="gchar**">
37524
- <type name="utf8" c:type="gchar*"/>
37918
+ <type name="filename"/>
37525
37919
  </array>
37526
37920
  </parameter>
37527
37921
  <parameter name="variable" transfer-ownership="none">
37528
- <doc xml:space="preserve">the environment variable to remove, must not contain '='</doc>
37529
- <type name="utf8" c:type="const gchar*"/>
37922
+ <doc xml:space="preserve">the environment variable to remove, must not
37923
+ contain '='</doc>
37924
+ <type name="filename" c:type="const gchar*"/>
37530
37925
  </parameter>
37531
37926
  </parameters>
37532
37927
  </function>
@@ -37576,7 +37971,7 @@ codes are those in the #GFileError enumeration. In the error case,
37576
37971
  <parameters>
37577
37972
  <parameter name="filename" transfer-ownership="none">
37578
37973
  <doc xml:space="preserve">name of a file to read contents from, in the GLib file name encoding</doc>
37579
- <type name="filename" c:type="gchar*"/>
37974
+ <type name="filename" c:type="const gchar*"/>
37580
37975
  </parameter>
37581
37976
  <parameter name="contents"
37582
37977
  direction="out"
@@ -37629,7 +38024,7 @@ name encoding.</doc>
37629
38024
  allow-none="1">
37630
38025
  <doc xml:space="preserve">Template for file name, as in
37631
38026
  g_mkstemp(), basename only, or %NULL for a default template</doc>
37632
- <type name="filename" c:type="gchar*"/>
38027
+ <type name="filename" c:type="const gchar*"/>
37633
38028
  </parameter>
37634
38029
  <parameter name="name_used"
37635
38030
  direction="out"
@@ -37656,7 +38051,7 @@ for filenames. Use g_filename_to_utf8() to convert it to UTF-8.</doc>
37656
38051
  <parameters>
37657
38052
  <parameter name="filename" transfer-ownership="none">
37658
38053
  <doc xml:space="preserve">the symbolic link</doc>
37659
- <type name="filename" c:type="gchar*"/>
38054
+ <type name="filename" c:type="const gchar*"/>
37660
38055
  </parameter>
37661
38056
  </parameters>
37662
38057
  </function>
@@ -37697,7 +38092,7 @@ to 7 characters to @filename.</doc>
37697
38092
  <parameter name="filename" transfer-ownership="none">
37698
38093
  <doc xml:space="preserve">name of a file to write @contents to, in the GLib file name
37699
38094
  encoding</doc>
37700
- <type name="filename" c:type="gchar*"/>
38095
+ <type name="filename" c:type="const gchar*"/>
37701
38096
  </parameter>
37702
38097
  <parameter name="contents" transfer-ownership="none">
37703
38098
  <doc xml:space="preserve">string to write to the file</doc>
@@ -37761,7 +38156,7 @@ extensions and those listed in the `PATHEXT` environment variable.</doc>
37761
38156
  <parameter name="filename" transfer-ownership="none">
37762
38157
  <doc xml:space="preserve">a filename to test in the
37763
38158
  GLib file name encoding</doc>
37764
- <type name="filename" c:type="gchar*"/>
38159
+ <type name="filename" c:type="const gchar*"/>
37765
38160
  </parameter>
37766
38161
  <parameter name="test" transfer-ownership="none">
37767
38162
  <doc xml:space="preserve">bitfield of #GFileTest flags</doc>
@@ -37797,7 +38192,7 @@ whole path, as it allows translation.</doc>
37797
38192
  <parameter name="filename" transfer-ownership="none">
37798
38193
  <doc xml:space="preserve">an absolute pathname in the
37799
38194
  GLib file name encoding</doc>
37800
- <type name="filename" c:type="gchar*"/>
38195
+ <type name="filename" c:type="const gchar*"/>
37801
38196
  </parameter>
37802
38197
  </parameters>
37803
38198
  </function>
@@ -37828,7 +38223,7 @@ translation of filenames.</doc>
37828
38223
  <parameter name="filename" transfer-ownership="none">
37829
38224
  <doc xml:space="preserve">a pathname hopefully in the
37830
38225
  GLib file name encoding</doc>
37831
- <type name="filename" c:type="gchar*"/>
38226
+ <type name="filename" c:type="const gchar*"/>
37832
38227
  </parameter>
37833
38228
  </parameters>
37834
38229
  </function>
@@ -37867,13 +38262,17 @@ encoding used for filenames.</doc>
37867
38262
  <doc xml:space="preserve">Converts a string from UTF-8 to the encoding GLib uses for
37868
38263
  filenames. Note that on Windows GLib uses UTF-8 for filenames;
37869
38264
  on other platforms, this function indirectly depends on the
37870
- [current locale][setlocale].</doc>
38265
+ [current locale][setlocale].
38266
+
38267
+ The input string shall not contain nul characters even if the @len
38268
+ argument is positive. A nul character found inside the string will result
38269
+ in error %G_CONVERT_ERROR_ILLEGAL_SEQUENCE. If the filename encoding is
38270
+ not UTF-8 and the conversion output contains a nul character, the error
38271
+ %G_CONVERT_ERROR_EMBEDDED_NUL is set and the function returns %NULL.</doc>
37871
38272
  <return-value transfer-ownership="full">
37872
38273
  <doc xml:space="preserve">
37873
38274
  The converted string, or %NULL on an error.</doc>
37874
- <array length="3" zero-terminated="0" c:type="gchar*">
37875
- <type name="guint8"/>
37876
- </array>
38275
+ <type name="filename" c:type="gchar*"/>
37877
38276
  </return-value>
37878
38277
  <parameters>
37879
38278
  <parameter name="utf8string" transfer-ownership="none">
@@ -37896,17 +38295,19 @@ on other platforms, this function indirectly depends on the
37896
38295
  Even if the conversion was successful, this may be
37897
38296
  less than @len if there were partial characters
37898
38297
  at the end of the input. If the error
37899
- #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
37900
- stored will the byte offset after the last valid
38298
+ %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
38299
+ stored will be the byte offset after the last valid
37901
38300
  input sequence.</doc>
37902
38301
  <type name="gsize" c:type="gsize*"/>
37903
38302
  </parameter>
37904
38303
  <parameter name="bytes_written"
37905
38304
  direction="out"
37906
38305
  caller-allocates="0"
37907
- transfer-ownership="full">
37908
- <doc xml:space="preserve">the number of bytes stored in the output buffer (not
37909
- including the terminating nul).</doc>
38306
+ transfer-ownership="full"
38307
+ optional="1"
38308
+ allow-none="1">
38309
+ <doc xml:space="preserve">the number of bytes stored in
38310
+ the output buffer (not including the terminating nul).</doc>
37910
38311
  <type name="gsize" c:type="gsize*"/>
37911
38312
  </parameter>
37912
38313
  </parameters>
@@ -37926,7 +38327,7 @@ component following Section 3.3. of RFC 2396.</doc>
37926
38327
  <doc xml:space="preserve">an absolute filename specified in the GLib file
37927
38328
  name encoding, which is the on-disk file name bytes on Unix, and UTF-8
37928
38329
  on Windows</doc>
37929
- <type name="filename" c:type="gchar*"/>
38330
+ <type name="filename" c:type="const gchar*"/>
37930
38331
  </parameter>
37931
38332
  <parameter name="hostname"
37932
38333
  transfer-ownership="none"
@@ -37943,7 +38344,15 @@ component following Section 3.3. of RFC 2396.</doc>
37943
38344
  <doc xml:space="preserve">Converts a string which is in the encoding used by GLib for
37944
38345
  filenames into a UTF-8 string. Note that on Windows GLib uses UTF-8
37945
38346
  for filenames; on other platforms, this function indirectly depends on
37946
- the [current locale][setlocale].</doc>
38347
+ the [current locale][setlocale].
38348
+
38349
+ The input string shall not contain nul characters even if the @len
38350
+ argument is positive. A nul character found inside the string will result
38351
+ in error %G_CONVERT_ERROR_ILLEGAL_SEQUENCE.
38352
+ If the source encoding is not UTF-8 and the conversion output contains a
38353
+ nul character, the error %G_CONVERT_ERROR_EMBEDDED_NUL is set and the
38354
+ function returns %NULL. Use g_convert() to produce output that
38355
+ may contain embedded nul characters.</doc>
37947
38356
  <return-value transfer-ownership="full">
37948
38357
  <doc xml:space="preserve">The converted string, or %NULL on an error.</doc>
37949
38358
  <type name="utf8" c:type="gchar*"/>
@@ -37951,7 +38360,7 @@ the [current locale][setlocale].</doc>
37951
38360
  <parameters>
37952
38361
  <parameter name="opsysstring" transfer-ownership="none">
37953
38362
  <doc xml:space="preserve">a string in the encoding for filenames</doc>
37954
- <type name="filename" c:type="gchar*"/>
38363
+ <type name="filename" c:type="const gchar*"/>
37955
38364
  </parameter>
37956
38365
  <parameter name="len" transfer-ownership="none">
37957
38366
  <doc xml:space="preserve">the length of the string, or -1 if the string is
@@ -37971,8 +38380,8 @@ the [current locale][setlocale].</doc>
37971
38380
  Even if the conversion was successful, this may be
37972
38381
  less than @len if there were partial characters
37973
38382
  at the end of the input. If the error
37974
- #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
37975
- stored will the byte offset after the last valid
38383
+ %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
38384
+ stored will be the byte offset after the last valid
37976
38385
  input sequence.</doc>
37977
38386
  <type name="gsize" c:type="gsize*"/>
37978
38387
  </parameter>
@@ -38015,7 +38424,7 @@ including the type suffix.</doc>
38015
38424
  <parameters>
38016
38425
  <parameter name="program" transfer-ownership="none">
38017
38426
  <doc xml:space="preserve">a program name in the GLib file name encoding</doc>
38018
- <type name="filename" c:type="gchar*"/>
38427
+ <type name="filename" c:type="const gchar*"/>
38019
38428
  </parameter>
38020
38429
  </parameters>
38021
38430
  </function>
@@ -38040,7 +38449,7 @@ See your C library manual for more details about fopen().</doc>
38040
38449
  <parameter name="filename" transfer-ownership="none">
38041
38450
  <doc xml:space="preserve">a pathname in the GLib file name encoding
38042
38451
  (UTF-8 on Windows)</doc>
38043
- <type name="filename" c:type="gchar*"/>
38452
+ <type name="filename" c:type="const gchar*"/>
38044
38453
  </parameter>
38045
38454
  <parameter name="mode" transfer-ownership="none">
38046
38455
  <doc xml:space="preserve">a string describing the mode in which the file should be opened</doc>
@@ -38128,7 +38537,9 @@ that modify the output. See #GFormatSizeFlags.</doc>
38128
38537
  version="2.2"
38129
38538
  introspectable="0">
38130
38539
  <doc xml:space="preserve">An implementation of the standard fprintf() function which supports
38131
- positional parameters, as specified in the Single Unix Specification.</doc>
38540
+ positional parameters, as specified in the Single Unix Specification.
38541
+
38542
+ `glib/gprintf.h` must be explicitly included in order to use this function.</doc>
38132
38543
  <return-value transfer-ownership="none">
38133
38544
  <doc xml:space="preserve">the number of bytes printed.</doc>
38134
38545
  <type name="gint" c:type="gint"/>
@@ -38141,7 +38552,7 @@ positional parameters, as specified in the Single Unix Specification.</doc>
38141
38552
  <parameter name="format" transfer-ownership="none">
38142
38553
  <doc xml:space="preserve">a standard printf() format string, but notice
38143
38554
  [string precision pitfalls][string-precision]</doc>
38144
- <type name="utf8" c:type="gchar*"/>
38555
+ <type name="utf8" c:type="const gchar*"/>
38145
38556
  </parameter>
38146
38557
  <parameter name="..." transfer-ownership="none">
38147
38558
  <doc xml:space="preserve">the arguments to insert in the output.</doc>
@@ -38181,7 +38592,7 @@ See your C library manual for more details about freopen().</doc>
38181
38592
  <parameter name="filename" transfer-ownership="none">
38182
38593
  <doc xml:space="preserve">a pathname in the GLib file name encoding
38183
38594
  (UTF-8 on Windows)</doc>
38184
- <type name="filename" c:type="gchar*"/>
38595
+ <type name="filename" c:type="const gchar*"/>
38185
38596
  </parameter>
38186
38597
  <parameter name="mode" transfer-ownership="none">
38187
38598
  <doc xml:space="preserve">a string describing the mode in which the file should be opened</doc>
@@ -38223,6 +38634,10 @@ used by the "narrow" versions of C library and Win32 functions that
38223
38634
  handle file names. It might be different from the character set
38224
38635
  used by the C library's current locale.
38225
38636
 
38637
+ On Linux, the character set is found by consulting nl_langinfo() if
38638
+ available. If not, the environment variables `LC_ALL`, `LC_CTYPE`, `LANG`
38639
+ and `CHARSET` are queried in order.
38640
+
38226
38641
  The return value is %TRUE if the locale's encoding is UTF-8, in that
38227
38642
  case you can perhaps avoid calling g_convert().
38228
38643
 
@@ -38295,10 +38710,10 @@ except portable.
38295
38710
  The return value is freshly allocated and it should be freed with
38296
38711
  g_strfreev() when it is no longer needed.</doc>
38297
38712
  <return-value transfer-ownership="full">
38298
- <doc xml:space="preserve">the list of
38299
- environment variables</doc>
38713
+ <doc xml:space="preserve">
38714
+ the list of environment variables</doc>
38300
38715
  <array c:type="gchar**">
38301
- <type name="utf8"/>
38716
+ <type name="filename"/>
38302
38717
  </array>
38303
38718
  </return-value>
38304
38719
  </function>
@@ -38335,7 +38750,6 @@ on a system might be in any random encoding or just gibberish.</doc>
38335
38750
  </return-value>
38336
38751
  <parameters>
38337
38752
  <parameter name="charsets" transfer-ownership="none">
38338
- <doc xml:space="preserve">return location for the %NULL-terminated list of encoding names</doc>
38339
38753
  <type name="utf8" c:type="const gchar***"/>
38340
38754
  </parameter>
38341
38755
  </parameters>
@@ -38363,7 +38777,7 @@ should either directly check the `HOME` environment variable yourself
38363
38777
  or unset it before calling any functions in GLib.</doc>
38364
38778
  <return-value transfer-ownership="none">
38365
38779
  <doc xml:space="preserve">the current user's home directory</doc>
38366
- <type name="filename" c:type="gchar*"/>
38780
+ <type name="filename" c:type="const gchar*"/>
38367
38781
  </return-value>
38368
38782
  </function>
38369
38783
  <function name="get_host_name"
@@ -38380,7 +38794,9 @@ of the machine is changed while an application is running, the
38380
38794
  return value from this function does not change. The returned
38381
38795
  string is owned by GLib and should not be modified or freed. If no
38382
38796
  name can be determined, a default fixed string "localhost" is
38383
- returned.</doc>
38797
+ returned.
38798
+
38799
+ The encoding of the returned string is UTF-8.</doc>
38384
38800
  <return-value transfer-ownership="none">
38385
38801
  <doc xml:space="preserve">the host name of the machine.</doc>
38386
38802
  <type name="utf8" c:type="const gchar*"/>
@@ -38489,7 +38905,7 @@ real user name cannot be determined, the string "Unknown" is
38489
38905
  returned.</doc>
38490
38906
  <return-value transfer-ownership="none">
38491
38907
  <doc xml:space="preserve">the user's real name.</doc>
38492
- <type name="filename" c:type="gchar*"/>
38908
+ <type name="filename" c:type="const gchar*"/>
38493
38909
  </return-value>
38494
38910
  </function>
38495
38911
  <function name="get_real_time"
@@ -38598,7 +39014,7 @@ it is always UTF-8. The return value is never %NULL or the empty
38598
39014
  string.</doc>
38599
39015
  <return-value transfer-ownership="none">
38600
39016
  <doc xml:space="preserve">the directory to use for temporary files.</doc>
38601
- <type name="filename" c:type="gchar*"/>
39017
+ <type name="filename" c:type="const gchar*"/>
38602
39018
  </return-value>
38603
39019
  </function>
38604
39020
  <function name="get_user_cache_dir"
@@ -38620,7 +39036,7 @@ See the [documentation for `CSIDL_INTERNET_CACHE`](https://msdn.microsoft.com/en
38620
39036
  <return-value transfer-ownership="none">
38621
39037
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38622
39038
  or freed.</doc>
38623
- <type name="filename" c:type="gchar*"/>
39039
+ <type name="filename" c:type="const gchar*"/>
38624
39040
  </return-value>
38625
39041
  </function>
38626
39042
  <function name="get_user_config_dir"
@@ -38643,7 +39059,7 @@ as what g_get_user_data_dir() returns.</doc>
38643
39059
  <return-value transfer-ownership="none">
38644
39060
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38645
39061
  or freed.</doc>
38646
- <type name="filename" c:type="gchar*"/>
39062
+ <type name="filename" c:type="const gchar*"/>
38647
39063
  </return-value>
38648
39064
  </function>
38649
39065
  <function name="get_user_data_dir"
@@ -38666,7 +39082,7 @@ as what g_get_user_config_dir() returns.</doc>
38666
39082
  <return-value transfer-ownership="none">
38667
39083
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38668
39084
  or freed.</doc>
38669
- <type name="filename" c:type="gchar*"/>
39085
+ <type name="filename" c:type="const gchar*"/>
38670
39086
  </return-value>
38671
39087
  </function>
38672
39088
  <function name="get_user_name" c:identifier="g_get_user_name">
@@ -38676,7 +39092,7 @@ encoding, or something else, and there is no guarantee that it is even
38676
39092
  consistent on a machine. On Windows, it is always UTF-8.</doc>
38677
39093
  <return-value transfer-ownership="none">
38678
39094
  <doc xml:space="preserve">the user name of the current user.</doc>
38679
- <type name="filename" c:type="gchar*"/>
39095
+ <type name="filename" c:type="const gchar*"/>
38680
39096
  </return-value>
38681
39097
  </function>
38682
39098
  <function name="get_user_runtime_dir"
@@ -38695,7 +39111,7 @@ g_get_user_cache_dir(), after verifying that it exists.</doc>
38695
39111
  <return-value transfer-ownership="none">
38696
39112
  <doc xml:space="preserve">a string owned by GLib that must not be
38697
39113
  modified or freed.</doc>
38698
- <type name="filename" c:type="gchar*"/>
39114
+ <type name="filename" c:type="const gchar*"/>
38699
39115
  </return-value>
38700
39116
  </function>
38701
39117
  <function name="get_user_special_dir"
@@ -38715,7 +39131,7 @@ will not reflect any change once the special directories are loaded.</doc>
38715
39131
  <doc xml:space="preserve">the path to the specified special directory, or
38716
39132
  %NULL if the logical id was not found. The returned string is owned by
38717
39133
  GLib and should not be modified or freed.</doc>
38718
- <type name="filename" c:type="gchar*"/>
39134
+ <type name="filename" c:type="const gchar*"/>
38719
39135
  </return-value>
38720
39136
  <parameters>
38721
39137
  <parameter name="directory" transfer-ownership="none">
@@ -38737,12 +39153,12 @@ references to other environment variables, they are expanded.</doc>
38737
39153
  the environment variable is not found. The returned string
38738
39154
  may be overwritten by the next call to g_getenv(), g_setenv()
38739
39155
  or g_unsetenv().</doc>
38740
- <type name="utf8" c:type="const gchar*"/>
39156
+ <type name="filename" c:type="const gchar*"/>
38741
39157
  </return-value>
38742
39158
  <parameters>
38743
39159
  <parameter name="variable" transfer-ownership="none">
38744
39160
  <doc xml:space="preserve">the environment variable to get</doc>
38745
- <type name="utf8" c:type="const gchar*"/>
39161
+ <type name="filename" c:type="const gchar*"/>
38746
39162
  </parameter>
38747
39163
  </parameters>
38748
39164
  </function>
@@ -38756,7 +39172,11 @@ key and the value.
38756
39172
 
38757
39173
  When a hash table only ever contains keys that have themselves as the
38758
39174
  corresponding value it is able to be stored more efficiently. See
38759
- the discussion in the section description.</doc>
39175
+ the discussion in the section description.
39176
+
39177
+ Starting from GLib 2.40, this function returns a boolean value to
39178
+ indicate whether the newly added value was already in the hash table
39179
+ or not.</doc>
38760
39180
  <return-value transfer-ownership="none">
38761
39181
  <doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
38762
39182
  <type name="gboolean" c:type="gboolean"/>
@@ -38836,7 +39256,11 @@ value is replaced with the new value. If you supplied a
38836
39256
  @value_destroy_func when creating the #GHashTable, the old
38837
39257
  value is freed using that function. If you supplied a
38838
39258
  @key_destroy_func when creating the #GHashTable, the passed
38839
- key is freed using that function.</doc>
39259
+ key is freed using that function.
39260
+
39261
+ Starting from GLib 2.40, this function returns a boolean value to
39262
+ indicate whether the newly added value was already in the hash table
39263
+ or not.</doc>
38840
39264
  <return-value transfer-ownership="none">
38841
39265
  <doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
38842
39266
  <type name="gboolean" c:type="gboolean"/>
@@ -39008,7 +39432,11 @@ already exists in the #GHashTable, it gets replaced by the
39008
39432
  new key. If you supplied a @value_destroy_func when creating
39009
39433
  the #GHashTable, the old value is freed using that function.
39010
39434
  If you supplied a @key_destroy_func when creating the
39011
- #GHashTable, the old key is freed using that function.</doc>
39435
+ #GHashTable, the old key is freed using that function.
39436
+
39437
+ Starting from GLib 2.40, this function returns a boolean value to
39438
+ indicate whether the newly added value was already in the hash table
39439
+ or not.</doc>
39012
39440
  <return-value transfer-ownership="none">
39013
39441
  <doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
39014
39442
  <type name="gboolean" c:type="gboolean"/>
@@ -39339,13 +39767,20 @@ the canonical presentation form will be entirely ASCII.</doc>
39339
39767
  </parameter>
39340
39768
  </parameters>
39341
39769
  </function>
39342
- <function name="iconv" c:identifier="g_iconv">
39770
+ <function name="iconv" c:identifier="g_iconv" introspectable="0">
39343
39771
  <doc xml:space="preserve">Same as the standard UNIX routine iconv(), but
39344
39772
  may be implemented via libiconv on UNIX flavors that lack
39345
39773
  a native implementation.
39346
39774
 
39347
39775
  GLib provides g_convert() and g_locale_to_utf8() which are likely
39348
- more convenient than the raw iconv wrappers.</doc>
39776
+ more convenient than the raw iconv wrappers.
39777
+
39778
+ Note that the behaviour of iconv() for characters which are valid in the
39779
+ input character set, but which have no representation in the output character
39780
+ set, is implementation defined. This function may return success (with a
39781
+ positive number of non-reversible conversions as replacement characters were
39782
+ used), or it may return -1 and set an error such as %EILSEQ, in such a
39783
+ situation.</doc>
39349
39784
  <return-value transfer-ownership="none">
39350
39785
  <doc xml:space="preserve">count of non-reversible conversions, or -1 on error</doc>
39351
39786
  <type name="gsize" c:type="gsize"/>
@@ -39373,6 +39808,32 @@ more convenient than the raw iconv wrappers.</doc>
39373
39808
  </parameter>
39374
39809
  </parameters>
39375
39810
  </function>
39811
+ <function name="iconv_open"
39812
+ c:identifier="g_iconv_open"
39813
+ moved-to="IConv.open"
39814
+ introspectable="0">
39815
+ <doc xml:space="preserve">Same as the standard UNIX routine iconv_open(), but
39816
+ may be implemented via libiconv on UNIX flavors that lack
39817
+ a native implementation.
39818
+
39819
+ GLib provides g_convert() and g_locale_to_utf8() which are likely
39820
+ more convenient than the raw iconv wrappers.</doc>
39821
+ <return-value>
39822
+ <doc xml:space="preserve">a "conversion descriptor", or (GIConv)-1 if
39823
+ opening the converter failed.</doc>
39824
+ <type name="IConv" c:type="GIConv"/>
39825
+ </return-value>
39826
+ <parameters>
39827
+ <parameter name="to_codeset" transfer-ownership="none">
39828
+ <doc xml:space="preserve">destination codeset</doc>
39829
+ <type name="utf8" c:type="const gchar*"/>
39830
+ </parameter>
39831
+ <parameter name="from_codeset" transfer-ownership="none">
39832
+ <doc xml:space="preserve">source codeset</doc>
39833
+ <type name="utf8" c:type="const gchar*"/>
39834
+ </parameter>
39835
+ </parameters>
39836
+ </function>
39376
39837
  <function name="idle_add"
39377
39838
  c:identifier="g_idle_add"
39378
39839
  shadowed-by="idle_add_full"
@@ -39775,10 +40236,11 @@ array are in system codepage encoding, while in most of the typical
39775
40236
  use cases for environment variables in GLib-using programs you want
39776
40237
  the UTF-8 encoding that this function and g_getenv() provide.</doc>
39777
40238
  <return-value transfer-ownership="full">
39778
- <doc xml:space="preserve">a %NULL-terminated
39779
- list of strings which must be freed with g_strfreev().</doc>
40239
+ <doc xml:space="preserve">
40240
+ a %NULL-terminated list of strings which must be freed with
40241
+ g_strfreev().</doc>
39780
40242
  <array c:type="gchar**">
39781
- <type name="utf8"/>
40243
+ <type name="filename"/>
39782
40244
  </array>
39783
40245
  </return-value>
39784
40246
  </function>
@@ -39788,11 +40250,19 @@ the UTF-8 encoding that this function and g_getenv() provide.</doc>
39788
40250
  <doc xml:space="preserve">Converts a string from UTF-8 to the encoding used for strings by
39789
40251
  the C runtime (usually the same as that used by the operating
39790
40252
  system) in the [current locale][setlocale]. On Windows this means
39791
- the system codepage.</doc>
40253
+ the system codepage.
40254
+
40255
+ The input string shall not contain nul characters even if the @len
40256
+ argument is positive. A nul character found inside the string will result
40257
+ in error %G_CONVERT_ERROR_ILLEGAL_SEQUENCE. Use g_convert() to convert
40258
+ input that may contain embedded nul characters.</doc>
39792
40259
  <return-value transfer-ownership="full">
39793
- <doc xml:space="preserve">A newly-allocated buffer containing the converted string,
39794
- or %NULL on an error, and error will be set.</doc>
39795
- <type name="utf8" c:type="gchar*"/>
40260
+ <doc xml:space="preserve">
40261
+ A newly-allocated buffer containing the converted string,
40262
+ or %NULL on an error, and error will be set.</doc>
40263
+ <array length="3" zero-terminated="0" c:type="gchar*">
40264
+ <type name="guint8"/>
40265
+ </array>
39796
40266
  </return-value>
39797
40267
  <parameters>
39798
40268
  <parameter name="utf8string" transfer-ownership="none">
@@ -39801,9 +40271,7 @@ the system codepage.</doc>
39801
40271
  </parameter>
39802
40272
  <parameter name="len" transfer-ownership="none">
39803
40273
  <doc xml:space="preserve">the length of the string, or -1 if the string is
39804
- nul-terminated (Note that some encodings may allow nul
39805
- bytes to occur inside strings. In that case, using -1
39806
- for the @len parameter is unsafe)</doc>
40274
+ nul-terminated.</doc>
39807
40275
  <type name="gssize" c:type="gssize"/>
39808
40276
  </parameter>
39809
40277
  <parameter name="bytes_read"
@@ -39817,8 +40285,8 @@ the system codepage.</doc>
39817
40285
  Even if the conversion was successful, this may be
39818
40286
  less than @len if there were partial characters
39819
40287
  at the end of the input. If the error
39820
- #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
39821
- stored will the byte offset after the last valid
40288
+ %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
40289
+ stored will be the byte offset after the last valid
39822
40290
  input sequence.</doc>
39823
40291
  <type name="gsize" c:type="gsize*"/>
39824
40292
  </parameter>
@@ -39837,17 +40305,27 @@ the system codepage.</doc>
39837
40305
  <function name="locale_to_utf8" c:identifier="g_locale_to_utf8" throws="1">
39838
40306
  <doc xml:space="preserve">Converts a string which is in the encoding used for strings by
39839
40307
  the C runtime (usually the same as that used by the operating
39840
- system) in the [current locale][setlocale] into a UTF-8 string.</doc>
40308
+ system) in the [current locale][setlocale] into a UTF-8 string.
40309
+
40310
+ If the source encoding is not UTF-8 and the conversion output contains a
40311
+ nul character, the error %G_CONVERT_ERROR_EMBEDDED_NUL is set and the
40312
+ function returns %NULL.
40313
+ If the source encoding is UTF-8, an embedded nul character is treated with
40314
+ the %G_CONVERT_ERROR_ILLEGAL_SEQUENCE error for backward compatibility with
40315
+ earlier versions of this library. Use g_convert() to produce output that
40316
+ may contain embedded nul characters.</doc>
39841
40317
  <return-value transfer-ownership="full">
39842
- <doc xml:space="preserve">A newly-allocated buffer containing the converted string,
39843
- or %NULL on an error, and error will be set.</doc>
40318
+ <doc xml:space="preserve">The converted string, or %NULL on an error.</doc>
39844
40319
  <type name="utf8" c:type="gchar*"/>
39845
40320
  </return-value>
39846
40321
  <parameters>
39847
40322
  <parameter name="opsysstring" transfer-ownership="none">
39848
- <doc xml:space="preserve">a string in the encoding of the current locale. On Windows
40323
+ <doc xml:space="preserve">a string in the
40324
+ encoding of the current locale. On Windows
39849
40325
  this means the system codepage.</doc>
39850
- <type name="utf8" c:type="const gchar*"/>
40326
+ <array length="1" zero-terminated="0" c:type="gchar*">
40327
+ <type name="guint8"/>
40328
+ </array>
39851
40329
  </parameter>
39852
40330
  <parameter name="len" transfer-ownership="none">
39853
40331
  <doc xml:space="preserve">the length of the string, or -1 if the string is
@@ -39867,8 +40345,8 @@ system) in the [current locale][setlocale] into a UTF-8 string.</doc>
39867
40345
  Even if the conversion was successful, this may be
39868
40346
  less than @len if there were partial characters
39869
40347
  at the end of the input. If the error
39870
- #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
39871
- stored will the byte offset after the last valid
40348
+ %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
40349
+ stored will be the byte offset after the last valid
39872
40350
  input sequence.</doc>
39873
40351
  <type name="gsize" c:type="gsize*"/>
39874
40352
  </parameter>
@@ -40155,7 +40633,7 @@ g_log_set_handler ("GLib", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
40155
40633
  c:identifier="g_log_set_handler_full"
40156
40634
  shadows="log_set_handler"
40157
40635
  version="2.46">
40158
- <doc xml:space="preserve">Like g_log_sets_handler(), but takes a destroy notify for the @user_data.
40636
+ <doc xml:space="preserve">Like g_log_set_handler(), but takes a destroy notify for the @user_data.
40159
40637
 
40160
40638
  This has no effect if structured logging is enabled; see
40161
40639
  [Using Structured Logging][using-structured-logging].</doc>
@@ -40381,6 +40859,36 @@ This assumes that @log_level is already present in @fields (typically as the
40381
40859
  </parameter>
40382
40860
  </parameters>
40383
40861
  </function>
40862
+ <function name="log_structured_standard"
40863
+ c:identifier="g_log_structured_standard"
40864
+ introspectable="0">
40865
+ <return-value transfer-ownership="none">
40866
+ <type name="none" c:type="void"/>
40867
+ </return-value>
40868
+ <parameters>
40869
+ <parameter name="log_domain" transfer-ownership="none">
40870
+ <type name="utf8" c:type="const gchar*"/>
40871
+ </parameter>
40872
+ <parameter name="log_level" transfer-ownership="none">
40873
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
40874
+ </parameter>
40875
+ <parameter name="file" transfer-ownership="none">
40876
+ <type name="utf8" c:type="const gchar*"/>
40877
+ </parameter>
40878
+ <parameter name="line" transfer-ownership="none">
40879
+ <type name="utf8" c:type="const gchar*"/>
40880
+ </parameter>
40881
+ <parameter name="func" transfer-ownership="none">
40882
+ <type name="utf8" c:type="const gchar*"/>
40883
+ </parameter>
40884
+ <parameter name="message_format" transfer-ownership="none">
40885
+ <type name="utf8" c:type="const gchar*"/>
40886
+ </parameter>
40887
+ <parameter name="..." transfer-ownership="none">
40888
+ <varargs/>
40889
+ </parameter>
40890
+ </parameters>
40891
+ </function>
40384
40892
  <function name="log_variant" c:identifier="g_log_variant" version="2.50">
40385
40893
  <doc xml:space="preserve">Log a message with structured data, accepting the data within a #GVariant. This
40386
40894
  version is especially useful for use in other languages, via introspection.
@@ -40690,7 +41198,7 @@ See your C library manual for more details about lstat().</doc>
40690
41198
  <parameter name="filename" transfer-ownership="none">
40691
41199
  <doc xml:space="preserve">a pathname in the GLib file name encoding
40692
41200
  (UTF-8 on Windows)</doc>
40693
- <type name="filename" c:type="gchar*"/>
41201
+ <type name="filename" c:type="const gchar*"/>
40694
41202
  </parameter>
40695
41203
  <parameter name="buf" transfer-ownership="none">
40696
41204
  <doc xml:space="preserve">a pointer to a stat struct, which will be filled with the file
@@ -41133,7 +41641,8 @@ profiling these days which can be used instead.</doc>
41133
41641
  However, its use was incompatible with the use of global constructors
41134
41642
  in GLib and GIO, because those use the GLib allocators before main is
41135
41643
  reached. Therefore this function is now deprecated and is just a stub.</doc>
41136
- <doc-deprecated xml:space="preserve">Use other memory profiling tools instead</doc-deprecated>
41644
+ <doc-deprecated xml:space="preserve">This function now does nothing. Use other memory
41645
+ profiling tools instead</doc-deprecated>
41137
41646
  <return-value transfer-ownership="none">
41138
41647
  <type name="none" c:type="void"/>
41139
41648
  </return-value>
@@ -41181,7 +41690,7 @@ See your C library manual for more details about mkdir().</doc>
41181
41690
  <parameter name="filename" transfer-ownership="none">
41182
41691
  <doc xml:space="preserve">a pathname in the GLib file name encoding
41183
41692
  (UTF-8 on Windows)</doc>
41184
- <type name="filename" c:type="gchar*"/>
41693
+ <type name="filename" c:type="const gchar*"/>
41185
41694
  </parameter>
41186
41695
  <parameter name="mode" transfer-ownership="none">
41187
41696
  <doc xml:space="preserve">permissions to use for the newly created directory</doc>
@@ -41202,7 +41711,7 @@ created. Returns -1 if an error occurred, with errno set.</doc>
41202
41711
  <parameters>
41203
41712
  <parameter name="pathname" transfer-ownership="none">
41204
41713
  <doc xml:space="preserve">a pathname in the GLib file name encoding</doc>
41205
- <type name="filename" c:type="gchar*"/>
41714
+ <type name="filename" c:type="const gchar*"/>
41206
41715
  </parameter>
41207
41716
  <parameter name="mode" transfer-ownership="none">
41208
41717
  <doc xml:space="preserve">permissions to use for newly created directories</doc>
@@ -41528,7 +42037,7 @@ See your C library manual for more details about open().</doc>
41528
42037
  <parameter name="filename" transfer-ownership="none">
41529
42038
  <doc xml:space="preserve">a pathname in the GLib file name encoding
41530
42039
  (UTF-8 on Windows)</doc>
41531
- <type name="filename" c:type="gchar*"/>
42040
+ <type name="filename" c:type="const gchar*"/>
41532
42041
  </parameter>
41533
42042
  <parameter name="flags" transfer-ownership="none">
41534
42043
  <doc xml:space="preserve">as in open()</doc>
@@ -41599,7 +42108,7 @@ separator is returned. If @file_name is empty, it gets ".".</doc>
41599
42108
  <parameters>
41600
42109
  <parameter name="file_name" transfer-ownership="none">
41601
42110
  <doc xml:space="preserve">the name of the file</doc>
41602
- <type name="filename" c:type="gchar*"/>
42111
+ <type name="filename" c:type="const gchar*"/>
41603
42112
  </parameter>
41604
42113
  </parameters>
41605
42114
  </function>
@@ -41615,7 +42124,7 @@ The returned string should be freed when no longer needed.</doc>
41615
42124
  <parameters>
41616
42125
  <parameter name="file_name" transfer-ownership="none">
41617
42126
  <doc xml:space="preserve">the name of the file</doc>
41618
- <type name="filename" c:type="gchar*"/>
42127
+ <type name="filename" c:type="const gchar*"/>
41619
42128
  </parameter>
41620
42129
  </parameters>
41621
42130
  </function>
@@ -41631,7 +42140,7 @@ current directory introduce vagueness. This function interprets as
41631
42140
  an absolute file name one that either begins with a directory
41632
42141
  separator such as "\Users\tml" or begins with the root on a drive,
41633
42142
  for example "C:\Windows". The first case also includes UNC paths
41634
- such as "\\myserver\docs\foo". In all cases, either slashes or
42143
+ such as "\\\\myserver\docs\foo". In all cases, either slashes or
41635
42144
  backslashes are accepted.
41636
42145
 
41637
42146
  Note that a file name relative to the current drive root does not
@@ -41651,7 +42160,7 @@ Windows-specific code.</doc>
41651
42160
  <parameters>
41652
42161
  <parameter name="file_name" transfer-ownership="none">
41653
42162
  <doc xml:space="preserve">a file name</doc>
41654
- <type name="filename" c:type="gchar*"/>
42163
+ <type name="filename" c:type="const gchar*"/>
41655
42164
  </parameter>
41656
42165
  </parameters>
41657
42166
  </function>
@@ -41662,12 +42171,12 @@ is not an absolute path it returns %NULL.</doc>
41662
42171
  <return-value transfer-ownership="none" nullable="1">
41663
42172
  <doc xml:space="preserve">a pointer into @file_name after the
41664
42173
  root component</doc>
41665
- <type name="filename" c:type="gchar*"/>
42174
+ <type name="filename" c:type="const gchar*"/>
41666
42175
  </return-value>
41667
42176
  <parameters>
41668
42177
  <parameter name="file_name" transfer-ownership="none">
41669
42178
  <doc xml:space="preserve">a file name</doc>
41670
- <type name="filename" c:type="gchar*"/>
42179
+ <type name="filename" c:type="const gchar*"/>
41671
42180
  </parameter>
41672
42181
  </parameters>
41673
42182
  </function>
@@ -41832,9 +42341,9 @@ directly if you need to block until a file descriptor is ready, but
41832
42341
  don't want to run the full main loop.
41833
42342
 
41834
42343
  Each element of @fds is a #GPollFD describing a single file
41835
- descriptor to poll. The %fd field indicates the file descriptor,
41836
- and the %events field indicates the events to poll for. On return,
41837
- the %revents fields will be filled with the events that actually
42344
+ descriptor to poll. The @fd field indicates the file descriptor,
42345
+ and the @events field indicates the events to poll for. On return,
42346
+ the @revents fields will be filled with the events that actually
41838
42347
  occurred.
41839
42348
 
41840
42349
  On POSIX systems, the file descriptors in @fds can be any sort of
@@ -41843,7 +42352,7 @@ Windows. If you need to use g_poll() in code that has to run on
41843
42352
  Windows, the easiest solution is to construct all of your
41844
42353
  #GPollFDs with g_io_channel_win32_make_pollfd().</doc>
41845
42354
  <return-value transfer-ownership="none">
41846
- <doc xml:space="preserve">the number of entries in @fds whose %revents fields
42355
+ <doc xml:space="preserve">the number of entries in @fds whose @revents fields
41847
42356
  were filled in, or 0 if the operation timed out, or -1 on error or
41848
42357
  if the call was interrupted.</doc>
41849
42358
  <type name="gint" c:type="gint"/>
@@ -41872,8 +42381,7 @@ error message. If @err is %NULL (ie: no error variable) then do
41872
42381
  nothing.
41873
42382
 
41874
42383
  If *@err is %NULL (ie: an error variable is present but there is no
41875
- error condition) then also do nothing. Whether or not it makes sense
41876
- to take advantage of this feature is up to you.</doc>
42384
+ error condition) then also do nothing.</doc>
41877
42385
  <return-value transfer-ownership="none">
41878
42386
  <type name="none" c:type="void"/>
41879
42387
  </return-value>
@@ -41954,7 +42462,9 @@ positional parameters, as specified in the Single Unix Specification.
41954
42462
 
41955
42463
  As with the standard printf(), this does not automatically append a trailing
41956
42464
  new-line character to the message, so typically @format should end with its
41957
- own new-line character.</doc>
42465
+ own new-line character.
42466
+
42467
+ `glib/gprintf.h` must be explicitly included in order to use this function.</doc>
41958
42468
  <return-value transfer-ownership="none">
41959
42469
  <doc xml:space="preserve">the number of bytes printed.</doc>
41960
42470
  <type name="gint" c:type="gint"/>
@@ -41963,7 +42473,7 @@ own new-line character.</doc>
41963
42473
  <parameter name="format" transfer-ownership="none">
41964
42474
  <doc xml:space="preserve">a standard printf() format string, but notice
41965
42475
  [string precision pitfalls][string-precision]</doc>
41966
- <type name="utf8" c:type="gchar*"/>
42476
+ <type name="utf8" c:type="const gchar*"/>
41967
42477
  </parameter>
41968
42478
  <parameter name="..." transfer-ownership="none">
41969
42479
  <doc xml:space="preserve">the arguments to insert in the output.</doc>
@@ -42602,7 +43112,7 @@ set by rmdir().</doc>
42602
43112
  <parameter name="filename" transfer-ownership="none">
42603
43113
  <doc xml:space="preserve">a pathname in the GLib file name encoding
42604
43114
  (UTF-8 on Windows)</doc>
42605
- <type name="filename" c:type="gchar*"/>
43115
+ <type name="filename" c:type="const gchar*"/>
42606
43116
  </parameter>
42607
43117
  </parameters>
42608
43118
  </function>
@@ -42621,11 +43131,11 @@ a file that is open to some process.</doc>
42621
43131
  <parameter name="oldfilename" transfer-ownership="none">
42622
43132
  <doc xml:space="preserve">a pathname in the GLib file name encoding
42623
43133
  (UTF-8 on Windows)</doc>
42624
- <type name="filename" c:type="gchar*"/>
43134
+ <type name="filename" c:type="const gchar*"/>
42625
43135
  </parameter>
42626
43136
  <parameter name="newfilename" transfer-ownership="none">
42627
43137
  <doc xml:space="preserve">a pathname in the GLib file name encoding</doc>
42628
- <type name="filename" c:type="gchar*"/>
43138
+ <type name="filename" c:type="const gchar*"/>
42629
43139
  </parameter>
42630
43140
  </parameters>
42631
43141
  </function>
@@ -42668,7 +43178,7 @@ on your system.</doc>
42668
43178
  <parameter name="filename" transfer-ownership="none">
42669
43179
  <doc xml:space="preserve">a pathname in the GLib file name encoding
42670
43180
  (UTF-8 on Windows)</doc>
42671
- <type name="filename" c:type="gchar*"/>
43181
+ <type name="filename" c:type="const gchar*"/>
42672
43182
  </parameter>
42673
43183
  </parameters>
42674
43184
  </function>
@@ -43057,12 +43567,13 @@ array directly to execvpe(), g_spawn_async(), or the like.</doc>
43057
43567
  </return-value>
43058
43568
  <parameters>
43059
43569
  <parameter name="variable" transfer-ownership="none">
43060
- <doc xml:space="preserve">the environment variable to set, must not contain '='.</doc>
43061
- <type name="utf8" c:type="const gchar*"/>
43570
+ <doc xml:space="preserve">the environment variable to set, must not
43571
+ contain '='.</doc>
43572
+ <type name="filename" c:type="const gchar*"/>
43062
43573
  </parameter>
43063
43574
  <parameter name="value" transfer-ownership="none">
43064
43575
  <doc xml:space="preserve">the value for to set the variable to.</doc>
43065
- <type name="utf8" c:type="const gchar*"/>
43576
+ <type name="filename" c:type="const gchar*"/>
43066
43577
  </parameter>
43067
43578
  <parameter name="overwrite" transfer-ownership="none">
43068
43579
  <doc xml:space="preserve">whether to change the variable if it already exists.</doc>
@@ -43094,7 +43605,7 @@ domain. Free the returned vector with g_strfreev().</doc>
43094
43605
  <parameters>
43095
43606
  <parameter name="command_line" transfer-ownership="none">
43096
43607
  <doc xml:space="preserve">command line to parse</doc>
43097
- <type name="utf8" c:type="const gchar*"/>
43608
+ <type name="filename" c:type="const gchar*"/>
43098
43609
  </parameter>
43099
43610
  <parameter name="argcp"
43100
43611
  direction="out"
@@ -43111,10 +43622,10 @@ domain. Free the returned vector with g_strfreev().</doc>
43111
43622
  transfer-ownership="full"
43112
43623
  optional="1"
43113
43624
  allow-none="1">
43114
- <doc xml:space="preserve">return
43115
- location for array of args</doc>
43625
+ <doc xml:space="preserve">
43626
+ return location for array of args</doc>
43116
43627
  <array length="1" zero-terminated="1" c:type="gchar***">
43117
- <type name="utf8" c:type="gchar**"/>
43628
+ <type name="filename"/>
43118
43629
  </array>
43119
43630
  </parameter>
43120
43631
  </parameters>
@@ -43128,12 +43639,12 @@ quoting style used is undefined (single or double quotes may be
43128
43639
  used).</doc>
43129
43640
  <return-value transfer-ownership="full">
43130
43641
  <doc xml:space="preserve">quoted string</doc>
43131
- <type name="utf8" c:type="gchar*"/>
43642
+ <type name="filename" c:type="gchar*"/>
43132
43643
  </return-value>
43133
43644
  <parameters>
43134
43645
  <parameter name="unquoted_string" transfer-ownership="none">
43135
43646
  <doc xml:space="preserve">a literal string</doc>
43136
- <type name="utf8" c:type="const gchar*"/>
43647
+ <type name="filename" c:type="const gchar*"/>
43137
43648
  </parameter>
43138
43649
  </parameters>
43139
43650
  </function>
@@ -43161,18 +43672,18 @@ be escaped with backslash. Otherwise double quotes preserve things
43161
43672
  literally.</doc>
43162
43673
  <return-value transfer-ownership="full">
43163
43674
  <doc xml:space="preserve">an unquoted string</doc>
43164
- <type name="utf8" c:type="gchar*"/>
43675
+ <type name="filename" c:type="gchar*"/>
43165
43676
  </return-value>
43166
43677
  <parameters>
43167
43678
  <parameter name="quoted_string" transfer-ownership="none">
43168
43679
  <doc xml:space="preserve">shell-quoted string</doc>
43169
- <type name="utf8" c:type="const gchar*"/>
43680
+ <type name="filename" c:type="const gchar*"/>
43170
43681
  </parameter>
43171
43682
  </parameters>
43172
43683
  </function>
43173
43684
  <function name="slice_alloc" c:identifier="g_slice_alloc" version="2.10">
43174
43685
  <doc xml:space="preserve">Allocates a block of memory from the slice allocator.
43175
- The block adress handed out can be expected to be aligned
43686
+ The block address handed out can be expected to be aligned
43176
43687
  to at least 1 * sizeof (void*),
43177
43688
  though in general slices are 2 * sizeof (void*) bytes aligned,
43178
43689
  if a malloc() fallback implementation is used instead,
@@ -43371,7 +43882,7 @@ the Single Unix Specification.</doc>
43371
43882
  <parameter name="format" transfer-ownership="none">
43372
43883
  <doc xml:space="preserve">a standard printf() format string, but notice
43373
43884
  [string precision pitfalls][string-precision]</doc>
43374
- <type name="utf8" c:type="gchar*"/>
43885
+ <type name="utf8" c:type="const gchar*"/>
43375
43886
  </parameter>
43376
43887
  <parameter name="..." transfer-ownership="none">
43377
43888
  <doc xml:space="preserve">the arguments to insert in the output.</doc>
@@ -43382,17 +43893,15 @@ the Single Unix Specification.</doc>
43382
43893
  <function name="source_remove"
43383
43894
  c:identifier="g_source_remove"
43384
43895
  moved-to="Source.remove">
43385
- <doc xml:space="preserve">Removes the source with the given id from the default main context.
43896
+ <doc xml:space="preserve">Removes the source with the given ID from the default main context. You must
43897
+ use g_source_destroy() for sources added to a non-default main context.
43386
43898
 
43387
- The id of a #GSource is given by g_source_get_id(), or will be
43899
+ The ID of a #GSource is given by g_source_get_id(), or will be
43388
43900
  returned by the functions g_source_attach(), g_idle_add(),
43389
43901
  g_idle_add_full(), g_timeout_add(), g_timeout_add_full(),
43390
43902
  g_child_watch_add(), g_child_watch_add_full(), g_io_add_watch(), and
43391
43903
  g_io_add_watch_full().
43392
43904
 
43393
- See also g_source_destroy(). You must use g_source_destroy() for sources
43394
- added to a non-default main context.
43395
-
43396
43905
  It is a programmer error to attempt to remove a non-existent source.
43397
43906
 
43398
43907
  More specifically: source IDs can be reissued after a source has been
@@ -43522,7 +44031,7 @@ reference when you don't need it any more.
43522
44031
  If you are writing a GTK+ application, and the program you are spawning is a
43523
44032
  graphical application too, then to ensure that the spawned program opens its
43524
44033
  windows on the right screen, you may want to use #GdkAppLaunchContext,
43525
- #GAppLaunchcontext, or set the %DISPLAY environment variable.
44034
+ #GAppLaunchContext, or set the %DISPLAY environment variable.
43526
44035
 
43527
44036
  Note that the returned @child_pid on Windows is a handle to the child
43528
44037
  process and not its identifier. Process handles and process identifiers
@@ -43536,22 +44045,25 @@ are different concepts on Windows.</doc>
43536
44045
  transfer-ownership="none"
43537
44046
  nullable="1"
43538
44047
  allow-none="1">
43539
- <doc xml:space="preserve">child's current working directory, or %NULL to inherit parent's</doc>
43540
- <type name="filename" c:type="gchar*"/>
44048
+ <doc xml:space="preserve">child's current working
44049
+ directory, or %NULL to inherit parent's</doc>
44050
+ <type name="filename" c:type="const gchar*"/>
43541
44051
  </parameter>
43542
44052
  <parameter name="argv" transfer-ownership="none">
43543
- <doc xml:space="preserve">child's argument vector</doc>
44053
+ <doc xml:space="preserve">
44054
+ child's argument vector</doc>
43544
44055
  <array c:type="gchar**">
43545
- <type name="utf8" c:type="gchar*"/>
44056
+ <type name="filename"/>
43546
44057
  </array>
43547
44058
  </parameter>
43548
44059
  <parameter name="envp"
43549
44060
  transfer-ownership="none"
43550
44061
  nullable="1"
43551
44062
  allow-none="1">
43552
- <doc xml:space="preserve">child's environment, or %NULL to inherit parent's</doc>
44063
+ <doc xml:space="preserve">
44064
+ child's environment, or %NULL to inherit parent's</doc>
43553
44065
  <array c:type="gchar**">
43554
- <type name="utf8" c:type="gchar*"/>
44066
+ <type name="filename"/>
43555
44067
  </array>
43556
44068
  </parameter>
43557
44069
  <parameter name="flags" transfer-ownership="none">
@@ -43673,7 +44185,7 @@ will be discarded, instead of going to the same location as the parent's
43673
44185
  standard error. If you use this flag, @standard_error must be %NULL.
43674
44186
  %G_SPAWN_CHILD_INHERITS_STDIN means that the child will inherit the parent's
43675
44187
  standard input (by default, the child's standard input is attached to
43676
- /dev/null). If you use this flag, @standard_input must be %NULL.
44188
+ `/dev/null`). If you use this flag, @standard_input must be %NULL.
43677
44189
  %G_SPAWN_FILE_AND_ARGV_ZERO means that the first element of @argv is
43678
44190
  the file to execute, while the remaining elements are the actual
43679
44191
  argument vector to pass to the file. Normally g_spawn_async_with_pipes()
@@ -43710,8 +44222,8 @@ The caller of g_spawn_async_with_pipes() must close these file descriptors
43710
44222
  when they are no longer in use. If these parameters are %NULL, the
43711
44223
  corresponding pipe won't be created.
43712
44224
 
43713
- If @standard_input is NULL, the child's standard input is attached to
43714
- /dev/null unless %G_SPAWN_CHILD_INHERITS_STDIN is set.
44225
+ If @standard_input is %NULL, the child's standard input is attached to
44226
+ `/dev/null` unless %G_SPAWN_CHILD_INHERITS_STDIN is set.
43715
44227
 
43716
44228
  If @standard_error is NULL, the child's standard error goes to the same
43717
44229
  location as the parent's standard error unless %G_SPAWN_STDERR_TO_DEV_NULL
@@ -43737,7 +44249,7 @@ process reference must be closed using g_spawn_close_pid().
43737
44249
  If you are writing a GTK+ application, and the program you are spawning is a
43738
44250
  graphical application too, then to ensure that the spawned program opens its
43739
44251
  windows on the right screen, you may want to use #GdkAppLaunchContext,
43740
- #GAppLaunchcontext, or set the %DISPLAY environment variable.</doc>
44252
+ #GAppLaunchContext, or set the %DISPLAY environment variable.</doc>
43741
44253
  <return-value transfer-ownership="none">
43742
44254
  <doc xml:space="preserve">%TRUE on success, %FALSE if an error was set</doc>
43743
44255
  <type name="gboolean" c:type="gboolean"/>
@@ -43747,22 +44259,26 @@ windows on the right screen, you may want to use #GdkAppLaunchContext,
43747
44259
  transfer-ownership="none"
43748
44260
  nullable="1"
43749
44261
  allow-none="1">
43750
- <doc xml:space="preserve">child's current working directory, or %NULL to inherit parent's, in the GLib file name encoding</doc>
43751
- <type name="filename" c:type="gchar*"/>
44262
+ <doc xml:space="preserve">child's current working
44263
+ directory, or %NULL to inherit parent's, in the GLib file name encoding</doc>
44264
+ <type name="filename" c:type="const gchar*"/>
43752
44265
  </parameter>
43753
44266
  <parameter name="argv" transfer-ownership="none">
43754
- <doc xml:space="preserve">child's argument vector, in the GLib file name encoding</doc>
44267
+ <doc xml:space="preserve">child's argument
44268
+ vector, in the GLib file name encoding</doc>
43755
44269
  <array c:type="gchar**">
43756
- <type name="utf8" c:type="gchar*"/>
44270
+ <type name="filename"/>
43757
44271
  </array>
43758
44272
  </parameter>
43759
44273
  <parameter name="envp"
43760
44274
  transfer-ownership="none"
43761
44275
  nullable="1"
43762
44276
  allow-none="1">
43763
- <doc xml:space="preserve">child's environment, or %NULL to inherit parent's, in the GLib file name encoding</doc>
44277
+ <doc xml:space="preserve">
44278
+ child's environment, or %NULL to inherit parent's, in the GLib file
44279
+ name encoding</doc>
43764
44280
  <array c:type="gchar**">
43765
- <type name="utf8" c:type="gchar*"/>
44281
+ <type name="filename"/>
43766
44282
  </array>
43767
44283
  </parameter>
43768
44284
  <parameter name="flags" transfer-ownership="none">
@@ -43909,7 +44425,7 @@ The same concerns on Windows apply as for g_spawn_command_line_sync().</doc>
43909
44425
  <parameters>
43910
44426
  <parameter name="command_line" transfer-ownership="none">
43911
44427
  <doc xml:space="preserve">a command line</doc>
43912
- <type name="utf8" c:type="const gchar*"/>
44428
+ <type name="filename" c:type="const gchar*"/>
43913
44429
  </parameter>
43914
44430
  </parameters>
43915
44431
  </function>
@@ -43945,7 +44461,7 @@ separator. You need to enclose such paths with single quotes, like
43945
44461
  <parameters>
43946
44462
  <parameter name="command_line" transfer-ownership="none">
43947
44463
  <doc xml:space="preserve">a command line</doc>
43948
- <type name="utf8" c:type="const gchar*"/>
44464
+ <type name="filename" c:type="const gchar*"/>
43949
44465
  </parameter>
43950
44466
  <parameter name="standard_output"
43951
44467
  direction="out"
@@ -44002,7 +44518,8 @@ If @exit_status is non-%NULL, the platform-specific exit status of
44002
44518
  the child is stored there; see the documentation of
44003
44519
  g_spawn_check_exit_status() for how to use and interpret this.
44004
44520
  Note that it is invalid to pass %G_SPAWN_DO_NOT_REAP_CHILD in
44005
- @flags.
44521
+ @flags, and on POSIX platforms, the same restrictions as for
44522
+ g_child_watch_source_new() apply.
44006
44523
 
44007
44524
  If an error occurs, no data is returned in @standard_output,
44008
44525
  @standard_error, or @exit_status.
@@ -44019,22 +44536,25 @@ how these functions work on Windows.</doc>
44019
44536
  transfer-ownership="none"
44020
44537
  nullable="1"
44021
44538
  allow-none="1">
44022
- <doc xml:space="preserve">child's current working directory, or %NULL to inherit parent's</doc>
44023
- <type name="filename" c:type="gchar*"/>
44539
+ <doc xml:space="preserve">child's current working
44540
+ directory, or %NULL to inherit parent's</doc>
44541
+ <type name="filename" c:type="const gchar*"/>
44024
44542
  </parameter>
44025
44543
  <parameter name="argv" transfer-ownership="none">
44026
- <doc xml:space="preserve">child's argument vector</doc>
44544
+ <doc xml:space="preserve">
44545
+ child's argument vector</doc>
44027
44546
  <array c:type="gchar**">
44028
- <type name="utf8" c:type="gchar*"/>
44547
+ <type name="filename"/>
44029
44548
  </array>
44030
44549
  </parameter>
44031
44550
  <parameter name="envp"
44032
44551
  transfer-ownership="none"
44033
44552
  nullable="1"
44034
44553
  allow-none="1">
44035
- <doc xml:space="preserve">child's environment, or %NULL to inherit parent's</doc>
44554
+ <doc xml:space="preserve">
44555
+ child's environment, or %NULL to inherit parent's</doc>
44036
44556
  <array c:type="gchar**">
44037
- <type name="utf8" c:type="gchar*"/>
44557
+ <type name="filename"/>
44038
44558
  </array>
44039
44559
  </parameter>
44040
44560
  <parameter name="flags" transfer-ownership="none">
@@ -44100,6 +44620,8 @@ positional parameters, as specified in the Single Unix Specification.
44100
44620
  Note that it is usually better to use g_snprintf(), to avoid the
44101
44621
  risk of buffer overflow.
44102
44622
 
44623
+ `glib/gprintf.h` must be explicitly included in order to use this function.
44624
+
44103
44625
  See also g_strdup_printf().</doc>
44104
44626
  <return-value transfer-ownership="none">
44105
44627
  <doc xml:space="preserve">the number of bytes printed.</doc>
@@ -44115,7 +44637,7 @@ See also g_strdup_printf().</doc>
44115
44637
  <parameter name="format" transfer-ownership="none">
44116
44638
  <doc xml:space="preserve">a standard printf() format string, but notice
44117
44639
  [string precision pitfalls][string-precision]</doc>
44118
- <type name="utf8" c:type="gchar*"/>
44640
+ <type name="utf8" c:type="const gchar*"/>
44119
44641
  </parameter>
44120
44642
  <parameter name="..." transfer-ownership="none">
44121
44643
  <doc xml:space="preserve">the arguments to insert in the output.</doc>
@@ -44153,7 +44675,7 @@ See your C library manual for more details about stat().</doc>
44153
44675
  <parameter name="filename" transfer-ownership="none">
44154
44676
  <doc xml:space="preserve">a pathname in the GLib file name encoding
44155
44677
  (UTF-8 on Windows)</doc>
44156
- <type name="filename" c:type="gchar*"/>
44678
+ <type name="filename" c:type="const gchar*"/>
44157
44679
  </parameter>
44158
44680
  <parameter name="buf" transfer-ownership="none">
44159
44681
  <doc xml:space="preserve">a pointer to a stat struct, which will be filled with the file
@@ -44304,11 +44826,11 @@ your corpus and build an index on the returned folded tokens, then
44304
44826
  call g_str_tokenize_and_fold() on the search term and
44305
44827
  perform lookups into that index.
44306
44828
 
44307
- As some examples, searching for "fred" would match the potential hit
44308
- "Smith, Fred" and also "Frédéric". Searching for "Fréd" would match
44309
- "Frédéric" but not "Frederic" (due to the one-directional nature of
44310
- accent matching). Searching "fo" would match "Foo" and "Bar Foo
44311
- Baz", but not "SFO" (because no word as "fo" as a prefix).</doc>
44829
+ As some examples, searching for fred would match the potential hit
44830
+ Smith, Fred and also Frédéric’. Searching for Fréd would match
44831
+ Frédéric but not Frederic (due to the one-directional nature of
44832
+ accent matching). Searching fo would match Foo and Bar Foo
44833
+ Baz’, but not SFO (because no word has fo as a prefix).</doc>
44312
44834
  <return-value transfer-ownership="none">
44313
44835
  <doc xml:space="preserve">%TRUE if @potential_hit is a hit</doc>
44314
44836
  <type name="gboolean" c:type="gboolean"/>
@@ -45756,7 +46278,7 @@ This is approximately the same as calling g_test_build_filename("."),
45756
46278
  but you don't need to free the return value.</doc>
45757
46279
  <return-value transfer-ownership="none">
45758
46280
  <doc xml:space="preserve">the path of the directory, owned by GLib</doc>
45759
- <type name="filename" c:type="gchar*"/>
46281
+ <type name="filename" c:type="const gchar*"/>
45760
46282
  </return-value>
45761
46283
  <parameters>
45762
46284
  <parameter name="file_type" transfer-ownership="none">
@@ -45857,15 +46379,16 @@ So far, the following arguments are understood:
45857
46379
  be skipped (ie, a test whose name contains "/subprocess").
45858
46380
  - `-m {perf|slow|thorough|quick|undefined|no-undefined}`: Execute tests according to these test modes:
45859
46381
 
45860
- `perf`: Performance tests, may take long and report results.
46382
+ `perf`: Performance tests, may take long and report results (off by default).
45861
46383
 
45862
- `slow`, `thorough`: Slow and thorough tests, may take quite long and maximize coverage.
46384
+ `slow`, `thorough`: Slow and thorough tests, may take quite long and maximize coverage
46385
+ (off by default).
45863
46386
 
45864
- `quick`: Quick tests, should run really quickly and give good coverage.
46387
+ `quick`: Quick tests, should run really quickly and give good coverage (the default).
45865
46388
 
45866
46389
  `undefined`: Tests for undefined behaviour, may provoke programming errors
45867
46390
  under g_test_trap_subprocess() or g_test_expect_message() to check
45868
- that appropriate assertions or warnings are given
46391
+ that appropriate assertions or warnings are given (the default).
45869
46392
 
45870
46393
  `no-undefined`: Avoid tests for undefined behaviour
45871
46394
 
@@ -46176,7 +46699,6 @@ test path arguments (`-p testpath` and `-s testpath`) as parsed by
46176
46699
  g_test_init(). See the g_test_run() documentation for more
46177
46700
  information on the order that tests are run in.
46178
46701
 
46179
-
46180
46702
  g_test_run_suite() or g_test_run() may only be called once
46181
46703
  in a program.</doc>
46182
46704
  <return-value transfer-ownership="none">
@@ -47938,7 +48460,7 @@ are open to some process, or mapped into memory.</doc>
47938
48460
  <parameter name="filename" transfer-ownership="none">
47939
48461
  <doc xml:space="preserve">a pathname in the GLib file name encoding
47940
48462
  (UTF-8 on Windows)</doc>
47941
- <type name="filename" c:type="gchar*"/>
48463
+ <type name="filename" c:type="const gchar*"/>
47942
48464
  </parameter>
47943
48465
  </parameters>
47944
48466
  </function>
@@ -47965,8 +48487,9 @@ array directly to execvpe(), g_spawn_async(), or the like.</doc>
47965
48487
  </return-value>
47966
48488
  <parameters>
47967
48489
  <parameter name="variable" transfer-ownership="none">
47968
- <doc xml:space="preserve">the environment variable to remove, must not contain '='</doc>
47969
- <type name="utf8" c:type="const gchar*"/>
48490
+ <doc xml:space="preserve">the environment variable to remove, must
48491
+ not contain '='</doc>
48492
+ <type name="filename" c:type="const gchar*"/>
47970
48493
  </parameter>
47971
48494
  </parameters>
47972
48495
  </function>
@@ -48659,7 +49182,10 @@ middle of a character, the last (partial) character is not counted.</doc>
48659
49182
  <doc xml:space="preserve">Like the standard C strncpy() function, but copies a given number
48660
49183
  of characters instead of a given number of bytes. The @src string
48661
49184
  must be valid UTF-8 encoded text. (Use g_utf8_validate() on all
48662
- text before trying to use UTF-8 utility functions with it.)</doc>
49185
+ text before trying to use UTF-8 utility functions with it.)
49186
+
49187
+ Note you must ensure @dest is at least 4 * @n to fit the
49188
+ largest possible UTF-8 characters</doc>
48663
49189
  <return-value transfer-ownership="full">
48664
49190
  <doc xml:space="preserve">@dest</doc>
48665
49191
  <type name="utf8" c:type="gchar*"/>
@@ -48963,7 +49489,7 @@ on your system.</doc>
48963
49489
  <parameter name="filename" transfer-ownership="none">
48964
49490
  <doc xml:space="preserve">a pathname in the GLib file name encoding
48965
49491
  (UTF-8 on Windows)</doc>
48966
- <type name="filename" c:type="gchar*"/>
49492
+ <type name="filename" c:type="const gchar*"/>
48967
49493
  </parameter>
48968
49494
  <parameter name="utb"
48969
49495
  transfer-ownership="none"
@@ -49269,7 +49795,9 @@ see g_variant_type_string_is_valid().</doc>
49269
49795
  positional parameters, as specified in the Single Unix Specification.
49270
49796
  This function is similar to g_vsprintf(), except that it allocates a
49271
49797
  string to hold the output, instead of putting the output in a buffer
49272
- you allocate in advance.</doc>
49798
+ you allocate in advance.
49799
+
49800
+ `glib/gprintf.h` must be explicitly included in order to use this function.</doc>
49273
49801
  <return-value transfer-ownership="none">
49274
49802
  <doc xml:space="preserve">the number of bytes printed.</doc>
49275
49803
  <type name="gint" c:type="gint"/>
@@ -49282,7 +49810,7 @@ you allocate in advance.</doc>
49282
49810
  <parameter name="format" transfer-ownership="none">
49283
49811
  <doc xml:space="preserve">a standard printf() format string, but notice
49284
49812
  [string precision pitfalls][string-precision]</doc>
49285
- <type name="utf8" c:type="gchar*"/>
49813
+ <type name="utf8" c:type="const gchar*"/>
49286
49814
  </parameter>
49287
49815
  <parameter name="args" transfer-ownership="none">
49288
49816
  <doc xml:space="preserve">the list of arguments to insert in the output.</doc>
@@ -49295,7 +49823,9 @@ you allocate in advance.</doc>
49295
49823
  version="2.2"
49296
49824
  introspectable="0">
49297
49825
  <doc xml:space="preserve">An implementation of the standard fprintf() function which supports
49298
- positional parameters, as specified in the Single Unix Specification.</doc>
49826
+ positional parameters, as specified in the Single Unix Specification.
49827
+
49828
+ `glib/gprintf.h` must be explicitly included in order to use this function.</doc>
49299
49829
  <return-value transfer-ownership="none">
49300
49830
  <doc xml:space="preserve">the number of bytes printed.</doc>
49301
49831
  <type name="gint" c:type="gint"/>
@@ -49308,7 +49838,7 @@ positional parameters, as specified in the Single Unix Specification.</doc>
49308
49838
  <parameter name="format" transfer-ownership="none">
49309
49839
  <doc xml:space="preserve">a standard printf() format string, but notice
49310
49840
  [string precision pitfalls][string-precision]</doc>
49311
- <type name="utf8" c:type="gchar*"/>
49841
+ <type name="utf8" c:type="const gchar*"/>
49312
49842
  </parameter>
49313
49843
  <parameter name="args" transfer-ownership="none">
49314
49844
  <doc xml:space="preserve">the list of arguments to insert in the output.</doc>
@@ -49321,7 +49851,9 @@ positional parameters, as specified in the Single Unix Specification.</doc>
49321
49851
  version="2.2"
49322
49852
  introspectable="0">
49323
49853
  <doc xml:space="preserve">An implementation of the standard vprintf() function which supports
49324
- positional parameters, as specified in the Single Unix Specification.</doc>
49854
+ positional parameters, as specified in the Single Unix Specification.
49855
+
49856
+ `glib/gprintf.h` must be explicitly included in order to use this function.</doc>
49325
49857
  <return-value transfer-ownership="none">
49326
49858
  <doc xml:space="preserve">the number of bytes printed.</doc>
49327
49859
  <type name="gint" c:type="gint"/>
@@ -49330,7 +49862,7 @@ positional parameters, as specified in the Single Unix Specification.</doc>
49330
49862
  <parameter name="format" transfer-ownership="none">
49331
49863
  <doc xml:space="preserve">a standard printf() format string, but notice
49332
49864
  [string precision pitfalls][string-precision]</doc>
49333
- <type name="utf8" c:type="gchar*"/>
49865
+ <type name="utf8" c:type="const gchar*"/>
49334
49866
  </parameter>
49335
49867
  <parameter name="args" transfer-ownership="none">
49336
49868
  <doc xml:space="preserve">the list of arguments to insert in the output.</doc>
@@ -49374,7 +49906,7 @@ the Single Unix Specification.</doc>
49374
49906
  <parameter name="format" transfer-ownership="none">
49375
49907
  <doc xml:space="preserve">a standard printf() format string, but notice
49376
49908
  string precision pitfalls][string-precision]</doc>
49377
- <type name="utf8" c:type="gchar*"/>
49909
+ <type name="utf8" c:type="const gchar*"/>
49378
49910
  </parameter>
49379
49911
  <parameter name="args" transfer-ownership="none">
49380
49912
  <doc xml:space="preserve">the list of arguments to insert in the output.</doc>
@@ -49387,7 +49919,9 @@ the Single Unix Specification.</doc>
49387
49919
  version="2.2"
49388
49920
  introspectable="0">
49389
49921
  <doc xml:space="preserve">An implementation of the standard vsprintf() function which supports
49390
- positional parameters, as specified in the Single Unix Specification.</doc>
49922
+ positional parameters, as specified in the Single Unix Specification.
49923
+
49924
+ `glib/gprintf.h` must be explicitly included in order to use this function.</doc>
49391
49925
  <return-value transfer-ownership="none">
49392
49926
  <doc xml:space="preserve">the number of bytes printed.</doc>
49393
49927
  <type name="gint" c:type="gint"/>
@@ -49400,7 +49934,7 @@ positional parameters, as specified in the Single Unix Specification.</doc>
49400
49934
  <parameter name="format" transfer-ownership="none">
49401
49935
  <doc xml:space="preserve">a standard printf() format string, but notice
49402
49936
  [string precision pitfalls][string-precision]</doc>
49403
- <type name="utf8" c:type="gchar*"/>
49937
+ <type name="utf8" c:type="const gchar*"/>
49404
49938
  </parameter>
49405
49939
  <parameter name="args" transfer-ownership="none">
49406
49940
  <doc xml:space="preserve">the list of arguments to insert in the output.</doc>