gobject-introspection 3.1.8-x64-mingw32 → 3.1.9-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -2
  3. data/ext/gobject-introspection/rb-gi-argument.c +49 -9
  4. data/ext/gobject-introspection/rb-gi-loader.c +74 -1
  5. data/lib/2.2/gobject_introspection.so +0 -0
  6. data/lib/2.3/gobject_introspection.so +0 -0
  7. data/lib/2.4/gobject_introspection.so +0 -0
  8. data/test/run-test.rb +1 -1
  9. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  10. data/vendor/local/bin/g-ir-generate.exe +0 -0
  11. data/vendor/local/bin/g-ir-inspect.exe +0 -0
  12. data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
  13. data/vendor/local/lib/girepository-1.0/GLib-2.0.typelib +0 -0
  14. data/vendor/local/lib/girepository-1.0/GModule-2.0.typelib +0 -0
  15. data/vendor/local/lib/girepository-1.0/GObject-2.0.typelib +0 -0
  16. data/vendor/local/lib/girepository-1.0/Gio-2.0.typelib +0 -0
  17. data/vendor/local/lib/girepository-1.0/cairo-1.0.typelib +0 -0
  18. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyc +0 -0
  19. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyo +0 -0
  20. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyc +0 -0
  21. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
  22. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
  23. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
  24. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
  25. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
  26. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.py +8 -14
  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 +48 -51
  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 +39 -66
  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.pyc +0 -0
  58. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
  59. data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
  60. data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
  61. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyc +0 -0
  62. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyo +0 -0
  63. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  64. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  65. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  66. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  67. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  68. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  69. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.py +3 -1
  70. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  71. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  72. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  73. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  74. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  75. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  76. data/vendor/local/lib/gobject-introspection/giscanner/utils.py +3 -3
  77. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  78. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  79. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  80. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  81. data/vendor/local/lib/libgirepository-1.0.a +0 -0
  82. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  83. data/vendor/local/lib/pkgconfig/gobject-introspection-1.0.pc +1 -1
  84. data/vendor/local/lib/pkgconfig/gobject-introspection-no-export-1.0.pc +1 -1
  85. data/vendor/local/share/gir-1.0/GLib-2.0.gir +684 -515
  86. data/vendor/local/share/gir-1.0/GModule-2.0.gir +0 -25
  87. data/vendor/local/share/gir-1.0/GObject-2.0.gir +160 -3
  88. data/vendor/local/share/gir-1.0/Gio-2.0.gir +198 -83
  89. data/vendor/local/share/gir-1.0/cairo-1.0.gir +622 -21
  90. data/vendor/local/share/gir-1.0/gir-1.2.rnc +479 -0
  91. data/vendor/local/share/gobject-introspection-1.0/tests/annotation.c +2 -1
  92. data/vendor/local/share/gobject-introspection-1.0/tests/annotation.h +1 -1
  93. data/vendor/local/share/gobject-introspection-1.0/tests/regress.c +50 -1
  94. data/vendor/local/share/gobject-introspection-1.0/tests/regress.h +7 -0
  95. metadata +5 -4
@@ -99,10 +99,10 @@ class DumpCompiler(object):
99
99
  self._uninst_srcdir = os.environ.get('UNINSTALLED_INTROSPECTION_SRCDIR')
100
100
  self._packages = ['gio-2.0 gmodule-2.0']
101
101
  self._packages.extend(options.packages)
102
- if hasattr(self._compiler.compiler, 'linker_exe'):
103
- self._linker_cmd = self._compiler.compiler.linker_exe
102
+ if self._compiler.check_is_msvc():
103
+ self._linker_cmd = ['link.exe']
104
104
  else:
105
- self._linker_cmd = []
105
+ self._linker_cmd = shlex.split(os.environ.get('CC', 'cc'))
106
106
 
107
107
  # Public API
108
108
 
@@ -212,21 +212,25 @@ class DumpCompiler(object):
212
212
  libtool = utils.get_libtool_command(self._options)
213
213
  if libtool:
214
214
  # Note: MSVC Builds do not use libtool!
215
- # In the libtool case, put together the linker command, as we did before.
216
- # We aren't using distutils to link in this case.
217
215
  args.extend(libtool)
218
216
  args.append('--mode=link')
219
217
  args.append('--tag=CC')
220
218
  if self._options.quiet:
221
219
  args.append('--silent')
222
220
 
223
- args.extend(self._linker_cmd)
221
+ args.extend(self._linker_cmd)
224
222
 
223
+ # We can use -o for the Microsoft compiler/linker,
224
+ # but it is considered deprecated usage
225
+ if self._compiler.check_is_msvc():
226
+ args.extend(['-out:' + output])
227
+ else:
225
228
  args.extend(['-o', output])
226
- if os.name == 'nt':
227
- args.append('-Wl,--export-all-symbols')
228
- else:
229
- args.append('-export-dynamic')
229
+ if libtool:
230
+ if os.name == 'nt':
231
+ args.append('-Wl,--export-all-symbols')
232
+ else:
233
+ args.append('-export-dynamic')
230
234
 
231
235
  if not self._compiler.check_is_msvc():
232
236
  # These envvars are not used for MSVC Builds!
@@ -246,8 +250,7 @@ class DumpCompiler(object):
246
250
  raise CompilerError(
247
251
  "Could not find object file: %s" % (source, ))
248
252
 
249
- if libtool:
250
- args.extend(sources)
253
+ args.extend(sources)
251
254
 
252
255
  pkg_config_libs = self._run_pkgconfig('--libs')
253
256
 
@@ -261,66 +264,36 @@ class DumpCompiler(object):
261
264
 
262
265
  else:
263
266
  args.extend(pkg_config_libs)
264
- self._compiler.get_external_link_flags(args,
265
- libtool,
266
- self._options.libraries)
267
+ self._compiler.get_external_link_flags(args, self._options.libraries)
267
268
 
268
269
  if not self._compiler.check_is_msvc():
269
270
  for ldflag in shlex.split(os.environ.get('LDFLAGS', '')):
270
271
  args.append(ldflag)
271
272
 
272
- if not libtool:
273
- # non-libtool: prepare distutils for linking the introspection
274
- # dumper program...
275
- try:
276
- self._compiler.link(output,
277
- sources,
278
- args)
279
-
280
- # Ignore failing to embed the manifest files, when the manifest
281
- # file does not exist, especially for MSVC 2010 and later builds.
282
- # If we are on Visual C++ 2005/2008, where
283
- # this embedding is required, the build will fail anyway, as
284
- # the dumper program will likely fail to run, and this means
285
- # something went wrong with the build.
286
- except LinkError as e:
287
- if self._compiler.check_is_msvc():
288
- msg = str(e)
289
-
290
- if msg[msg.rfind('mt.exe'):] == 'mt.exe\' failed with exit status 31':
291
- if sys.version_info < (3, 0):
292
- sys.exc_clear()
293
- pass
294
- else:
295
- raise LinkError(e)
296
- else:
297
- raise LinkError(e)
298
- else:
299
- # libtool: Run the assembled link command, we don't use distutils
300
- # for linking here.
301
- if not self._options.quiet:
302
- print("g-ir-scanner: link: %s" % (
303
- subprocess.list2cmdline(args), ))
304
- sys.stdout.flush()
305
- msys = os.environ.get('MSYSTEM', None)
273
+ if not self._options.quiet:
274
+ print("g-ir-scanner: link: %s" % (
275
+ subprocess.list2cmdline(args), ))
276
+ sys.stdout.flush()
277
+
278
+ msys = os.environ.get('MSYSTEM', None)
279
+ if msys:
280
+ shell = os.environ.get('SHELL', 'sh.exe')
281
+ # Create a temporary script file that
282
+ # runs the command we want
283
+ tf, tf_name = tempfile.mkstemp()
284
+ with os.fdopen(tf, 'wb') as f:
285
+ shellcontents = ' '.join([x.replace('\\', '/') for x in args])
286
+ fcontents = '#!/bin/sh\nunset PWD\n{}\n'.format(shellcontents)
287
+ f.write(fcontents)
288
+ shell = utils.which(shell)
289
+ args = [shell, tf_name.replace('\\', '/')]
290
+ try:
291
+ subprocess.check_call(args)
292
+ except subprocess.CalledProcessError as e:
293
+ raise LinkerError(e)
294
+ finally:
306
295
  if msys:
307
- shell = os.environ.get('SHELL', 'sh.exe')
308
- # Create a temporary script file that
309
- # runs the command we want
310
- tf, tf_name = tempfile.mkstemp()
311
- with os.fdopen(tf, 'wb') as f:
312
- shellcontents = ' '.join([x.replace('\\', '/') for x in args])
313
- fcontents = '#!/bin/sh\nunset PWD\n{}\n'.format(shellcontents)
314
- f.write(fcontents)
315
- shell = utils.which(shell)
316
- args = [shell, tf_name.replace('\\', '/')]
317
- try:
318
- subprocess.check_call(args)
319
- except subprocess.CalledProcessError as e:
320
- raise LinkerError(e)
321
- finally:
322
- if msys:
323
- os.remove(tf_name)
296
+ os.remove(tf_name)
324
297
 
325
298
 
326
299
  def compile_introspection_binary(options, get_type_functions,
@@ -290,7 +290,9 @@ class SourceScanner(object):
290
290
 
291
291
  cc = CCompiler()
292
292
 
293
- tmp_fd_cpp, tmp_name_cpp = tempfile.mkstemp(prefix='g-ir-cpp-', suffix='.c')
293
+ tmp_fd_cpp, tmp_name_cpp = tempfile.mkstemp(prefix='g-ir-cpp-',
294
+ suffix='.c',
295
+ dir=os.getcwd())
294
296
  with os.fdopen(tmp_fd_cpp, 'wb') as fp_cpp:
295
297
  self._write_preprocess_src(fp_cpp, defines, undefs, filenames)
296
298
 
@@ -159,7 +159,7 @@ def get_libtool_command(options):
159
159
  libtool_cmd = 'glibtool'
160
160
  try:
161
161
  subprocess.check_call([libtool_cmd, '--version'],
162
- stdout=open(os.devnull))
162
+ stdout=open(os.devnull, 'w'))
163
163
  except (subprocess.CalledProcessError, OSError):
164
164
  # If libtool's not installed, assume we don't need it
165
165
  return None
@@ -228,7 +228,7 @@ def makedirs(name, mode=0o777, exist_ok=False):
228
228
  if head and tail and not os.path.exists(head):
229
229
  try:
230
230
  makedirs(head, mode, exist_ok)
231
- except OSError as e:
231
+ except (IOError, OSError) as e:
232
232
  # be happy if someone already created the path
233
233
  if e.errno != errno.EEXIST:
234
234
  raise
@@ -236,7 +236,7 @@ def makedirs(name, mode=0o777, exist_ok=False):
236
236
  return
237
237
  try:
238
238
  os.mkdir(name, mode)
239
- except OSError as e:
239
+ except (IOError, OSError) as e:
240
240
  if not exist_ok or e.errno != errno.EEXIST or not os.path.isdir(name):
241
241
  raise
242
242
 
Binary file
@@ -21,4 +21,4 @@ Libs.private:
21
21
 
22
22
  Name: gobject-introspection
23
23
  Description: GObject Introspection
24
- Version: 1.52.1
24
+ Version: 1.54.1
@@ -20,4 +20,4 @@ Libs.private:
20
20
 
21
21
  Name: gobject-introspection
22
22
  Description: GObject Introspection
23
- Version: 1.52.1
23
+ Version: 1.54.1
@@ -149,7 +149,11 @@ is greater than one, the #GArray wrapper is preserved but the size
149
149
  of @array will be set to zero.
150
150
 
151
151
  If array elements contain dynamically-allocated memory, they should
152
- be freed separately.</doc>
152
+ be freed separately.
153
+
154
+ This function is not thread-safe. If using a #GArray from multiple
155
+ threads, use only the atomic g_array_ref() and g_array_unref()
156
+ functions.</doc>
153
157
  <return-value transfer-ownership="full">
154
158
  <doc xml:space="preserve">the element data if @free_segment is %FALSE, otherwise
155
159
  %NULL. The element data should be freed using g_free().</doc>
@@ -278,7 +282,7 @@ the new elements.</doc>
278
282
  version="2.22"
279
283
  introspectable="0">
280
284
  <doc xml:space="preserve">Atomically increments the reference count of @array by one.
281
- This function is MT-safe and may be called from any thread.</doc>
285
+ This function is thread-safe and may be called from any thread.</doc>
282
286
  <return-value>
283
287
  <doc xml:space="preserve">The passed in #GArray</doc>
284
288
  <array name="GLib.Array" c:type="GArray*">
@@ -523,7 +527,7 @@ This did not actually work, so any such code should be removed.</doc>
523
527
  introspectable="0">
524
528
  <doc xml:space="preserve">Atomically decrements the reference count of @array by one. If the
525
529
  reference count drops to 0, all memory allocated by the array is
526
- released. This function is MT-safe and may be called from any
530
+ released. This function is thread-safe and may be called from any
527
531
  thread.</doc>
528
532
  <return-value transfer-ownership="none">
529
533
  <type name="none" c:type="void"/>
@@ -6028,16 +6032,6 @@ filenames, the returned name is in UTF-8.</doc>
6028
6032
  </instance-parameter>
6029
6033
  </parameters>
6030
6034
  </method>
6031
- <method name="read_name_utf8" c:identifier="g_dir_read_name_utf8">
6032
- <return-value transfer-ownership="none">
6033
- <type name="utf8" c:type="const gchar*"/>
6034
- </return-value>
6035
- <parameters>
6036
- <instance-parameter name="dir" transfer-ownership="none">
6037
- <type name="Dir" c:type="GDir*"/>
6038
- </instance-parameter>
6039
- </parameters>
6040
- </method>
6041
6035
  <method name="rewind" c:identifier="g_dir_rewind">
6042
6036
  <doc xml:space="preserve">Resets the given directory. The next call to g_dir_read_name()
6043
6037
  will return the first entry again.</doc>
@@ -6109,22 +6103,6 @@ that the ordering is not defined.</doc>
6109
6103
  </parameter>
6110
6104
  </parameters>
6111
6105
  </function>
6112
- <function name="open_utf8"
6113
- c:identifier="g_dir_open_utf8"
6114
- introspectable="0"
6115
- throws="1">
6116
- <return-value>
6117
- <type name="Dir" c:type="GDir*"/>
6118
- </return-value>
6119
- <parameters>
6120
- <parameter name="path" transfer-ownership="none">
6121
- <type name="utf8" c:type="const gchar*"/>
6122
- </parameter>
6123
- <parameter name="flags" transfer-ownership="none">
6124
- <type name="guint" c:type="guint"/>
6125
- </parameter>
6126
- </parameters>
6127
- </function>
6128
6106
  </record>
6129
6107
  <union name="DoubleIEEE754" c:type="GDoubleIEEE754">
6130
6108
  <doc xml:space="preserve">The #GFloatIEEE754 and #GDoubleIEEE754 unions are used to access the sign,
@@ -8932,21 +8910,6 @@ access the channel after it is closed).</doc>
8932
8910
  </parameter>
8933
8911
  </parameters>
8934
8912
  </constructor>
8935
- <constructor name="new_file_utf8"
8936
- c:identifier="g_io_channel_new_file_utf8"
8937
- throws="1">
8938
- <return-value transfer-ownership="full">
8939
- <type name="IOChannel" c:type="GIOChannel*"/>
8940
- </return-value>
8941
- <parameters>
8942
- <parameter name="filename" transfer-ownership="none">
8943
- <type name="utf8" c:type="const gchar*"/>
8944
- </parameter>
8945
- <parameter name="mode" transfer-ownership="none">
8946
- <type name="utf8" c:type="const gchar*"/>
8947
- </parameter>
8948
- </parameters>
8949
- </constructor>
8950
8913
  <constructor name="unix_new" c:identifier="g_io_channel_unix_new">
8951
8914
  <doc xml:space="preserve">Creates a new #GIOChannel given a file descriptor. On UNIX systems
8952
8915
  this works for plain files, pipes, and sockets.
@@ -8957,6 +8920,8 @@ The default encoding for #GIOChannel is UTF-8. If your application
8957
8920
  is reading output from a command using via pipe, you may need to set
8958
8921
  the encoding to the encoding of the current locale (see
8959
8922
  g_get_charset()) with the g_io_channel_set_encoding() function.
8923
+ By default, the fd passed will not be closed when the final reference
8924
+ to the #GIOChannel data structure is dropped.
8960
8925
 
8961
8926
  If you want to read raw binary data without interpretation, then
8962
8927
  call the g_io_channel_set_encoding() function with %NULL for the
@@ -9146,8 +9111,7 @@ will be closed when @channel receives its final unref and is
9146
9111
  destroyed. The default value of this is %TRUE for channels created
9147
9112
  by g_io_channel_new_file (), and %FALSE for all other channels.</doc>
9148
9113
  <return-value transfer-ownership="none">
9149
- <doc xml:space="preserve">Whether the channel will be closed on the final unref of
9150
- the GIOChannel data structure.</doc>
9114
+ <doc xml:space="preserve">%TRUE if the channel will be closed, %FALSE otherwise.</doc>
9151
9115
  <type name="gboolean" c:type="gboolean"/>
9152
9116
  </return-value>
9153
9117
  <parameters>
@@ -9557,8 +9521,12 @@ The default state of the channel is buffered.</doc>
9557
9521
  </method>
9558
9522
  <method name="set_close_on_unref"
9559
9523
  c:identifier="g_io_channel_set_close_on_unref">
9560
- <doc xml:space="preserve">Setting this flag to %TRUE for a channel you have already closed
9561
- can cause problems.</doc>
9524
+ <doc xml:space="preserve">Whether to close the channel on the final unref of the #GIOChannel
9525
+ data structure. The default value of this is %TRUE for channels
9526
+ created by g_io_channel_new_file (), and %FALSE for all other channels.
9527
+
9528
+ Setting this flag to %TRUE for a channel you have already closed
9529
+ can cause problems when the final reference to the #GIOChannel is dropped.</doc>
9562
9530
  <return-value transfer-ownership="none">
9563
9531
  <type name="none" c:type="void"/>
9564
9532
  </return-value>
@@ -9569,9 +9537,7 @@ can cause problems.</doc>
9569
9537
  </instance-parameter>
9570
9538
  <parameter name="do_close" transfer-ownership="none">
9571
9539
  <doc xml:space="preserve">Whether to close the channel on the final unref of
9572
- the GIOChannel data structure. The default value of
9573
- this is %TRUE for channels created by g_io_channel_new_file (),
9574
- and %FALSE for all other channels.</doc>
9540
+ the GIOChannel data structure.</doc>
9575
9541
  <type name="gboolean" c:type="gboolean"/>
9576
9542
  </parameter>
9577
9543
  </parameters>
@@ -11960,8 +11926,7 @@ See #G_BYTE_ORDER.</doc>
11960
11926
  <constant name="LOG_DOMAIN" value="0" c:type="G_LOG_DOMAIN">
11961
11927
  <doc xml:space="preserve">Defines the log domain.
11962
11928
 
11963
- For applications, this is typically left as the default %NULL
11964
- (or "") domain. Libraries should define this so that any messages
11929
+ Libraries should define this so that any messages
11965
11930
  which they log can be differentiated from messages from other
11966
11931
  libraries and application code. But be careful not to define
11967
11932
  it in any public header files.
@@ -11969,7 +11934,11 @@ it in any public header files.
11969
11934
  For example, GTK+ uses this in its Makefile.am:
11970
11935
  |[
11971
11936
  AM_CPPFLAGS = -DG_LOG_DOMAIN=\"Gtk\"
11972
- ]|</doc>
11937
+ ]|
11938
+
11939
+ Applications can choose to leave it as the default %NULL (or "")
11940
+ domain. However, defining the domain offers the same advantages as
11941
+ above.</doc>
11973
11942
  <type name="gchar" c:type="gchar"/>
11974
11943
  </constant>
11975
11944
  <constant name="LOG_FATAL_MASK" value="0" c:type="G_LOG_FATAL_MASK">
@@ -12994,7 +12963,14 @@ can write arbitrary binary output, as field values may be arbitrary binary.
12994
12963
 
12995
12964
  @log_level is guaranteed to be included in @fields as the `PRIORITY` field,
12996
12965
  but is provided separately for convenience of deciding whether or where to
12997
- output the log entry.</doc>
12966
+ output the log entry.
12967
+
12968
+ Writer functions should return %G_LOG_WRITER_HANDLED if they handled the log
12969
+ message successfully or if they deliberately ignored it. If there was an
12970
+ error handling the message (for example, if the writer function is meant to
12971
+ send messages to a remote logging server and there is a network error), it
12972
+ should return %G_LOG_WRITER_UNHANDLED. This allows writer functions to be
12973
+ chained and fall back to simpler handlers in case of failure.</doc>
12998
12974
  <return-value transfer-ownership="none">
12999
12975
  <doc xml:space="preserve">%G_LOG_WRITER_HANDLED if the log entry was handled successfully;
13000
12976
  %G_LOG_WRITER_UNHANDLED otherwise</doc>
@@ -13092,7 +13068,7 @@ linked against at application run time.</doc>
13092
13068
  <doc xml:space="preserve">The maximum value which can be held in a #guint8.</doc>
13093
13069
  <type name="guint8" c:type="guint8"/>
13094
13070
  </constant>
13095
- <constant name="MICRO_VERSION" value="3" c:type="GLIB_MICRO_VERSION">
13071
+ <constant name="MICRO_VERSION" value="1" c:type="GLIB_MICRO_VERSION">
13096
13072
  <doc xml:space="preserve">The micro version number of the GLib library.
13097
13073
 
13098
13074
  Like #gtk_micro_version, but from the headers used at
@@ -13119,7 +13095,7 @@ linked against at application run time.</doc>
13119
13095
  <doc xml:space="preserve">The minimum value which can be held in a #gint8.</doc>
13120
13096
  <type name="gint8" c:type="gint8"/>
13121
13097
  </constant>
13122
- <constant name="MINOR_VERSION" value="52" c:type="GLIB_MINOR_VERSION">
13098
+ <constant name="MINOR_VERSION" value="54" c:type="GLIB_MINOR_VERSION">
13123
13099
  <doc xml:space="preserve">The minor version number of the GLib library.
13124
13100
 
13125
13101
  Like #gtk_minor_version, but from the headers used at
@@ -16092,6 +16068,22 @@ should generally be normalized before comparing them.</doc>
16092
16068
  <doc xml:space="preserve">another name for %G_NORMALIZE_ALL_COMPOSE</doc>
16093
16069
  </member>
16094
16070
  </enumeration>
16071
+ <enumeration name="NumberParserError"
16072
+ version="2.54"
16073
+ c:type="GNumberParserError"
16074
+ glib:error-domain="g-number-parser-error-quark">
16075
+ <doc xml:space="preserve">Error codes returned by functions converting a string to a number.</doc>
16076
+ <member name="invalid"
16077
+ value="0"
16078
+ c:identifier="G_NUMBER_PARSER_ERROR_INVALID">
16079
+ <doc xml:space="preserve">String was not a valid number.</doc>
16080
+ </member>
16081
+ <member name="out_of_bounds"
16082
+ value="1"
16083
+ c:identifier="G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS">
16084
+ <doc xml:space="preserve">String was a number, but out of bounds.</doc>
16085
+ </member>
16086
+ </enumeration>
16095
16087
  <constant name="OPTION_REMAINING"
16096
16088
  value=""
16097
16089
  c:type="G_OPTION_REMAINING"
@@ -17574,6 +17566,99 @@ in size automatically if necessary.</doc>
17574
17566
  </parameter>
17575
17567
  </parameters>
17576
17568
  </function>
17569
+ <function name="find"
17570
+ c:identifier="g_ptr_array_find"
17571
+ version="2.54"
17572
+ introspectable="0">
17573
+ <doc xml:space="preserve">Checks whether @needle exists in @haystack. If the element is found, %TRUE is
17574
+ returned and the element’s index is returned in @index_ (if non-%NULL).
17575
+ Otherwise, %FALSE is returned and @index_ is undefined. If @needle exists
17576
+ multiple times in @haystack, the index of the first instance is returned.
17577
+
17578
+ This does pointer comparisons only. If you want to use more complex equality
17579
+ checks, such as string comparisons, use g_ptr_array_find_with_equal_func().</doc>
17580
+ <return-value transfer-ownership="none">
17581
+ <doc xml:space="preserve">%TRUE if @needle is one of the elements of @haystack</doc>
17582
+ <type name="gboolean" c:type="gboolean"/>
17583
+ </return-value>
17584
+ <parameters>
17585
+ <parameter name="haystack" transfer-ownership="none">
17586
+ <doc xml:space="preserve">pointer array to be searched</doc>
17587
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
17588
+ <type name="gpointer" c:type="gpointer"/>
17589
+ </array>
17590
+ </parameter>
17591
+ <parameter name="needle"
17592
+ transfer-ownership="none"
17593
+ nullable="1"
17594
+ allow-none="1">
17595
+ <doc xml:space="preserve">pointer to look for</doc>
17596
+ <type name="gpointer" c:type="gconstpointer"/>
17597
+ </parameter>
17598
+ <parameter name="index_"
17599
+ direction="out"
17600
+ caller-allocates="1"
17601
+ transfer-ownership="none"
17602
+ optional="1"
17603
+ allow-none="1">
17604
+ <doc xml:space="preserve">return location for the index of
17605
+ the element, if found</doc>
17606
+ <type name="guint" c:type="guint*"/>
17607
+ </parameter>
17608
+ </parameters>
17609
+ </function>
17610
+ <function name="find_with_equal_func"
17611
+ c:identifier="g_ptr_array_find_with_equal_func"
17612
+ version="2.54"
17613
+ introspectable="0">
17614
+ <doc xml:space="preserve">Checks whether @needle exists in @haystack, using the given @equal_func.
17615
+ If the element is found, %TRUE is returned and the element’s index is
17616
+ returned in @index_ (if non-%NULL). Otherwise, %FALSE is returned and @index_
17617
+ is undefined. If @needle exists multiple times in @haystack, the index of
17618
+ the first instance is returned.
17619
+
17620
+ @equal_func is called with the element from the array as its first parameter,
17621
+ and @needle as its second parameter. If @equal_func is %NULL, pointer
17622
+ equality is used.</doc>
17623
+ <return-value transfer-ownership="none">
17624
+ <doc xml:space="preserve">%TRUE if @needle is one of the elements of @haystack</doc>
17625
+ <type name="gboolean" c:type="gboolean"/>
17626
+ </return-value>
17627
+ <parameters>
17628
+ <parameter name="haystack" transfer-ownership="none">
17629
+ <doc xml:space="preserve">pointer array to be searched</doc>
17630
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
17631
+ <type name="gpointer" c:type="gpointer"/>
17632
+ </array>
17633
+ </parameter>
17634
+ <parameter name="needle"
17635
+ transfer-ownership="none"
17636
+ nullable="1"
17637
+ allow-none="1">
17638
+ <doc xml:space="preserve">pointer to look for</doc>
17639
+ <type name="gpointer" c:type="gconstpointer"/>
17640
+ </parameter>
17641
+ <parameter name="equal_func"
17642
+ transfer-ownership="none"
17643
+ nullable="1"
17644
+ allow-none="1">
17645
+ <doc xml:space="preserve">the function to call for each element, which should
17646
+ return %TRUE when the desired element is found; or %NULL to use pointer
17647
+ equality</doc>
17648
+ <type name="EqualFunc" c:type="GEqualFunc"/>
17649
+ </parameter>
17650
+ <parameter name="index_"
17651
+ direction="out"
17652
+ caller-allocates="1"
17653
+ transfer-ownership="none"
17654
+ optional="1"
17655
+ allow-none="1">
17656
+ <doc xml:space="preserve">return location for the index of
17657
+ the element, if found</doc>
17658
+ <type name="guint" c:type="guint*"/>
17659
+ </parameter>
17660
+ </parameters>
17661
+ </function>
17577
17662
  <function name="foreach"
17578
17663
  c:identifier="g_ptr_array_foreach"
17579
17664
  version="2.4"
@@ -17612,7 +17697,11 @@ size of @array will be set to zero.
17612
17697
 
17613
17698
  If array contents point to dynamically-allocated memory, they should
17614
17699
  be freed separately if @free_seg is %TRUE and no #GDestroyNotify
17615
- function has been set for @array.</doc>
17700
+ function has been set for @array.
17701
+
17702
+ This function is not thread-safe. If using a #GPtrArray from multiple
17703
+ threads, use only the atomic g_ptr_array_ref() and g_ptr_array_unref()
17704
+ functions.</doc>
17616
17705
  <return-value transfer-ownership="none" nullable="1">
17617
17706
  <doc xml:space="preserve">the pointer array if @free_seg is %FALSE, otherwise %NULL.
17618
17707
  The pointer array should be freed using g_free().</doc>
@@ -18030,7 +18119,7 @@ This is guaranteed to be a stable sort since version 2.32.</doc>
18030
18119
  <doc xml:space="preserve">Atomically decrements the reference count of @array by one. If the
18031
18120
  reference count drops to 0, the effect is the same as calling
18032
18121
  g_ptr_array_free() with @free_segment set to %TRUE. This function
18033
- is MT-safe and may be called from any thread.</doc>
18122
+ is thread-safe and may be called from any thread.</doc>
18034
18123
  <return-value transfer-ownership="none">
18035
18124
  <type name="none" c:type="void"/>
18036
18125
  </return-value>
@@ -22645,12 +22734,9 @@ g_io_channel_seek_position() operation.</doc>
22645
22734
  <record name="Sequence" c:type="GSequence" disguised="1">
22646
22735
  <doc xml:space="preserve">The #GSequence struct is an opaque data type representing a
22647
22736
  [sequence][glib-Sequences] data type.</doc>
22648
- <method name="append"
22649
- c:identifier="g_sequence_append"
22650
- version="2.14"
22651
- introspectable="0">
22737
+ <method name="append" c:identifier="g_sequence_append" version="2.14">
22652
22738
  <doc xml:space="preserve">Adds a new item to the end of @seq.</doc>
22653
- <return-value>
22739
+ <return-value transfer-ownership="none">
22654
22740
  <doc xml:space="preserve">an iterator pointing to the new item</doc>
22655
22741
  <type name="SequenceIter" c:type="GSequenceIter*"/>
22656
22742
  </return-value>
@@ -22711,10 +22797,9 @@ in @seq.</doc>
22711
22797
  </method>
22712
22798
  <method name="get_begin_iter"
22713
22799
  c:identifier="g_sequence_get_begin_iter"
22714
- version="2.14"
22715
- introspectable="0">
22800
+ version="2.14">
22716
22801
  <doc xml:space="preserve">Returns the begin iterator for @seq.</doc>
22717
- <return-value>
22802
+ <return-value transfer-ownership="none">
22718
22803
  <doc xml:space="preserve">the begin iterator for @seq.</doc>
22719
22804
  <type name="SequenceIter" c:type="GSequenceIter*"/>
22720
22805
  </return-value>
@@ -22727,10 +22812,9 @@ in @seq.</doc>
22727
22812
  </method>
22728
22813
  <method name="get_end_iter"
22729
22814
  c:identifier="g_sequence_get_end_iter"
22730
- version="2.14"
22731
- introspectable="0">
22815
+ version="2.14">
22732
22816
  <doc xml:space="preserve">Returns the end iterator for @seg</doc>
22733
- <return-value>
22817
+ <return-value transfer-ownership="none">
22734
22818
  <doc xml:space="preserve">the end iterator for @seq</doc>
22735
22819
  <type name="SequenceIter" c:type="GSequenceIter*"/>
22736
22820
  </return-value>
@@ -22743,11 +22827,10 @@ in @seq.</doc>
22743
22827
  </method>
22744
22828
  <method name="get_iter_at_pos"
22745
22829
  c:identifier="g_sequence_get_iter_at_pos"
22746
- version="2.14"
22747
- introspectable="0">
22830
+ version="2.14">
22748
22831
  <doc xml:space="preserve">Returns the iterator at position @pos. If @pos is negative or larger
22749
22832
  than the number of items in @seq, the end iterator is returned.</doc>
22750
- <return-value>
22833
+ <return-value transfer-ownership="none">
22751
22834
  <doc xml:space="preserve">The #GSequenceIter at position @pos</doc>
22752
22835
  <type name="SequenceIter" c:type="GSequenceIter*"/>
22753
22836
  </return-value>
@@ -22791,7 +22874,7 @@ otherwise the new position of @data is undefined.
22791
22874
  It should return 0 if the items are equal, a negative value
22792
22875
  if the first item comes before the second, and a positive value
22793
22876
  if the second item comes before the first.</doc>
22794
- <return-value>
22877
+ <return-value transfer-ownership="none">
22795
22878
  <doc xml:space="preserve">a #GSequenceIter pointing to the new item.</doc>
22796
22879
  <type name="SequenceIter" c:type="GSequenceIter*"/>
22797
22880
  </return-value>
@@ -22837,7 +22920,7 @@ It is called with two iterators pointing into @seq. It should
22837
22920
  return 0 if the iterators are equal, a negative value if the
22838
22921
  first iterator comes before the second, and a positive value
22839
22922
  if the second iterator comes before the first.</doc>
22840
- <return-value>
22923
+ <return-value transfer-ownership="none">
22841
22924
  <doc xml:space="preserve">a #GSequenceIter pointing to the new item</doc>
22842
22925
  <type name="SequenceIter" c:type="GSequenceIter*"/>
22843
22926
  </return-value>
@@ -22906,7 +22989,7 @@ unsorted. Use g_sequence_insert_sorted() or
22906
22989
  g_sequence_insert_sorted_iter() to add data to your sequence or, if
22907
22990
  you want to add a large amount of data, call g_sequence_sort() after
22908
22991
  doing unsorted insertions.</doc>
22909
- <return-value>
22992
+ <return-value transfer-ownership="none" nullable="1">
22910
22993
  <doc xml:space="preserve">an #GSequenceIter pointing to the position of the
22911
22994
  first item found equal to @data according to @cmp_func and
22912
22995
  @cmp_data, or %NULL if no such item exists</doc>
@@ -22954,7 +23037,7 @@ unsorted. Use g_sequence_insert_sorted() or
22954
23037
  g_sequence_insert_sorted_iter() to add data to your sequence or, if
22955
23038
  you want to add a large amount of data, call g_sequence_sort() after
22956
23039
  doing unsorted insertions.</doc>
22957
- <return-value>
23040
+ <return-value transfer-ownership="none" nullable="1">
22958
23041
  <doc xml:space="preserve">an #GSequenceIter pointing to the position of
22959
23042
  the first item found equal to @data according to @cmp_func
22960
23043
  and @cmp_data, or %NULL if no such item exists</doc>
@@ -22986,12 +23069,9 @@ doing unsorted insertions.</doc>
22986
23069
  </parameter>
22987
23070
  </parameters>
22988
23071
  </method>
22989
- <method name="prepend"
22990
- c:identifier="g_sequence_prepend"
22991
- version="2.14"
22992
- introspectable="0">
23072
+ <method name="prepend" c:identifier="g_sequence_prepend" version="2.14">
22993
23073
  <doc xml:space="preserve">Adds a new item to the front of @seq</doc>
22994
- <return-value>
23074
+ <return-value transfer-ownership="none">
22995
23075
  <doc xml:space="preserve">an iterator pointing to the new item</doc>
22996
23076
  <type name="SequenceIter" c:type="GSequenceIter*"/>
22997
23077
  </return-value>
@@ -23029,7 +23109,7 @@ unsorted. Use g_sequence_insert_sorted() or
23029
23109
  g_sequence_insert_sorted_iter() to add data to your sequence or, if
23030
23110
  you want to add a large amount of data, call g_sequence_sort() after
23031
23111
  doing unsorted insertions.</doc>
23032
- <return-value>
23112
+ <return-value transfer-ownership="none">
23033
23113
  <doc xml:space="preserve">an #GSequenceIter pointing to the position where @data
23034
23114
  would have been inserted according to @cmp_func and @cmp_data</doc>
23035
23115
  <type name="SequenceIter" c:type="GSequenceIter*"/>
@@ -23079,7 +23159,7 @@ unsorted. Use g_sequence_insert_sorted() or
23079
23159
  g_sequence_insert_sorted_iter() to add data to your sequence or, if
23080
23160
  you want to add a large amount of data, call g_sequence_sort() after
23081
23161
  doing unsorted insertions.</doc>
23082
- <return-value>
23162
+ <return-value transfer-ownership="none">
23083
23163
  <doc xml:space="preserve">a #GSequenceIter pointing to the position in @seq
23084
23164
  where @data would have been inserted according to @iter_cmp
23085
23165
  and @cmp_data</doc>
@@ -23221,10 +23301,9 @@ iterator comes before the first.</doc>
23221
23301
  </function>
23222
23302
  <function name="insert_before"
23223
23303
  c:identifier="g_sequence_insert_before"
23224
- version="2.14"
23225
- introspectable="0">
23304
+ version="2.14">
23226
23305
  <doc xml:space="preserve">Inserts a new item just before the item pointed to by @iter.</doc>
23227
- <return-value>
23306
+ <return-value transfer-ownership="none">
23228
23307
  <doc xml:space="preserve">an iterator pointing to the new item</doc>
23229
23308
  <type name="SequenceIter" c:type="GSequenceIter*"/>
23230
23309
  </return-value>
@@ -23298,7 +23377,7 @@ the (@begin, @end) range, the range does not move.</doc>
23298
23377
  <doc xml:space="preserve">Creates a new GSequence. The @data_destroy function, if non-%NULL will
23299
23378
  be called on all items when the sequence is destroyed and on items that
23300
23379
  are removed from the sequence.</doc>
23301
- <return-value>
23380
+ <return-value transfer-ownership="full">
23302
23381
  <doc xml:space="preserve">a new #GSequence</doc>
23303
23382
  <type name="Sequence" c:type="GSequence*"/>
23304
23383
  </return-value>
@@ -23315,15 +23394,14 @@ are removed from the sequence.</doc>
23315
23394
  </function>
23316
23395
  <function name="range_get_midpoint"
23317
23396
  c:identifier="g_sequence_range_get_midpoint"
23318
- version="2.14"
23319
- introspectable="0">
23397
+ version="2.14">
23320
23398
  <doc xml:space="preserve">Finds an iterator somewhere in the range (@begin, @end). This
23321
23399
  iterator will be close to the middle of the range, but is not
23322
23400
  guaranteed to be exactly in the middle.
23323
23401
 
23324
23402
  The @begin and @end iterators must both point to the same sequence
23325
23403
  and @begin must come before or be equal to @end in the sequence.</doc>
23326
- <return-value>
23404
+ <return-value transfer-ownership="none">
23327
23405
  <doc xml:space="preserve">a #GSequenceIter pointing somewhere in the
23328
23406
  (@begin, @end) range</doc>
23329
23407
  <type name="SequenceIter" c:type="GSequenceIter*"/>
@@ -23526,10 +23604,9 @@ The @a and @b iterators must point into the same sequence.</doc>
23526
23604
  </method>
23527
23605
  <method name="get_sequence"
23528
23606
  c:identifier="g_sequence_iter_get_sequence"
23529
- version="2.14"
23530
- introspectable="0">
23607
+ version="2.14">
23531
23608
  <doc xml:space="preserve">Returns the #GSequence that @iter points into.</doc>
23532
- <return-value>
23609
+ <return-value transfer-ownership="none">
23533
23610
  <doc xml:space="preserve">the #GSequence that @iter points into</doc>
23534
23611
  <type name="Sequence" c:type="GSequence*"/>
23535
23612
  </return-value>
@@ -23570,15 +23647,12 @@ The @a and @b iterators must point into the same sequence.</doc>
23570
23647
  </instance-parameter>
23571
23648
  </parameters>
23572
23649
  </method>
23573
- <method name="move"
23574
- c:identifier="g_sequence_iter_move"
23575
- version="2.14"
23576
- introspectable="0">
23650
+ <method name="move" c:identifier="g_sequence_iter_move" version="2.14">
23577
23651
  <doc xml:space="preserve">Returns the #GSequenceIter which is @delta positions away from @iter.
23578
23652
  If @iter is closer than -@delta positions to the beginning of the sequence,
23579
23653
  the begin iterator is returned. If @iter is closer than @delta positions
23580
23654
  to the end of the sequence, the end iterator is returned.</doc>
23581
- <return-value>
23655
+ <return-value transfer-ownership="none">
23582
23656
  <doc xml:space="preserve">a #GSequenceIter which is @delta positions away from @iter</doc>
23583
23657
  <type name="SequenceIter" c:type="GSequenceIter*"/>
23584
23658
  </return-value>
@@ -23594,13 +23668,10 @@ to the end of the sequence, the end iterator is returned.</doc>
23594
23668
  </parameter>
23595
23669
  </parameters>
23596
23670
  </method>
23597
- <method name="next"
23598
- c:identifier="g_sequence_iter_next"
23599
- version="2.14"
23600
- introspectable="0">
23671
+ <method name="next" c:identifier="g_sequence_iter_next" version="2.14">
23601
23672
  <doc xml:space="preserve">Returns an iterator pointing to the next position after @iter.
23602
23673
  If @iter is the end iterator, the end iterator is returned.</doc>
23603
- <return-value>
23674
+ <return-value transfer-ownership="none">
23604
23675
  <doc xml:space="preserve">a #GSequenceIter pointing to the next position after @iter</doc>
23605
23676
  <type name="SequenceIter" c:type="GSequenceIter*"/>
23606
23677
  </return-value>
@@ -23611,13 +23682,10 @@ If @iter is the end iterator, the end iterator is returned.</doc>
23611
23682
  </instance-parameter>
23612
23683
  </parameters>
23613
23684
  </method>
23614
- <method name="prev"
23615
- c:identifier="g_sequence_iter_prev"
23616
- version="2.14"
23617
- introspectable="0">
23685
+ <method name="prev" c:identifier="g_sequence_iter_prev" version="2.14">
23618
23686
  <doc xml:space="preserve">Returns an iterator pointing to the previous position before @iter.
23619
23687
  If @iter is the begin iterator, the begin iterator is returned.</doc>
23620
- <return-value>
23688
+ <return-value transfer-ownership="none">
23621
23689
  <doc xml:space="preserve">a #GSequenceIter pointing to the previous position
23622
23690
  before @iter</doc>
23623
23691
  <type name="SequenceIter" c:type="GSequenceIter*"/>
@@ -26720,9 +26788,16 @@ the W3C Note
26720
26788
  Both of these documents are profiles of ISO 8601.
26721
26789
 
26722
26790
  Use g_date_time_format() or g_strdup_printf() if a different
26723
- variation of ISO 8601 format is required.</doc>
26724
- <return-value transfer-ownership="full">
26725
- <doc xml:space="preserve">a newly allocated string containing an ISO 8601 date</doc>
26791
+ variation of ISO 8601 format is required.
26792
+
26793
+ If @time_ represents a date which is too large to fit into a `struct tm`,
26794
+ %NULL will be returned. This is platform dependent, but it is safe to assume
26795
+ years up to 3000 are supported. The return value of g_time_val_to_iso8601()
26796
+ has been nullable since GLib 2.54; before then, GLib would crash under the
26797
+ same conditions.</doc>
26798
+ <return-value transfer-ownership="full" nullable="1">
26799
+ <doc xml:space="preserve">a newly allocated string containing an ISO 8601 date,
26800
+ or %NULL if @time_ was too large</doc>
26726
26801
  <type name="utf8" c:type="gchar*"/>
26727
26802
  </return-value>
26728
26803
  <parameters>
@@ -28780,7 +28855,25 @@ See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr
28780
28855
  <doc xml:space="preserve">Osage. Since: 2.50</doc>
28781
28856
  </member>
28782
28857
  <member name="tangut" value="137" c:identifier="G_UNICODE_SCRIPT_TANGUT">
28783
- <doc xml:space="preserve">Tangut. Since: 2.50</doc>
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>
28863
+ </member>
28864
+ <member name="masaram_gondi"
28865
+ value="138"
28866
+ c:identifier="G_UNICODE_SCRIPT_MASARAM_GONDI">
28867
+ </member>
28868
+ <member name="nushu" value="139" c:identifier="G_UNICODE_SCRIPT_NUSHU">
28869
+ </member>
28870
+ <member name="soyombo"
28871
+ value="140"
28872
+ c:identifier="G_UNICODE_SCRIPT_SOYOMBO">
28873
+ </member>
28874
+ <member name="zanabazar_square"
28875
+ value="141"
28876
+ c:identifier="G_UNICODE_SCRIPT_ZANABAZAR_SQUARE">
28784
28877
  </member>
28785
28878
  </enumeration>
28786
28879
  <enumeration name="UnicodeType" c:type="GUnicodeType">
@@ -29026,10 +29119,10 @@ For instance, if you want to create a #GVariant holding an integer value you
29026
29119
  can use:
29027
29120
 
29028
29121
  |[&lt;!-- language="C" --&gt;
29029
- GVariant *v = g_variant_new ('u', 40);
29122
+ GVariant *v = g_variant_new ("u", 40);
29030
29123
  ]|
29031
29124
 
29032
- The string 'u' in the first argument tells #GVariant that the data passed to
29125
+ The string "u" in the first argument tells #GVariant that the data passed to
29033
29126
  the constructor (40) is going to be an unsigned integer.
29034
29127
 
29035
29128
  More advanced examples of #GVariant in use can be found in documentation for
@@ -29241,7 +29334,7 @@ child.
29241
29334
 
29242
29335
  To put the entire example together, for our dictionary mapping
29243
29336
  strings to variants (with two entries, as given above), we are
29244
- using 91 bytes of memory for type information, 29 byes of memory
29337
+ using 91 bytes of memory for type information, 29 bytes of memory
29245
29338
  for the serialised data, 16 bytes for buffer management and 24
29246
29339
  bytes for the #GVariant instance, or a total of 160 bytes, plus
29247
29340
  malloc overhead. If we were to use g_variant_get_child_value() to
@@ -29461,10 +29554,10 @@ the new instance takes ownership of them as if via g_variant_ref_sink().</doc>
29461
29554
  <constructor name="new_fixed_array"
29462
29555
  c:identifier="g_variant_new_fixed_array"
29463
29556
  version="2.32">
29464
- <doc xml:space="preserve">Provides access to the serialised data for an array of fixed-sized
29465
- items.
29557
+ <doc xml:space="preserve">Constructs a new array #GVariant instance, where the elements are
29558
+ of @element_type type.
29466
29559
 
29467
- @value must be an array with fixed-sized elements. Numeric types are
29560
+ @elements must be an array with fixed-sized elements. Numeric types are
29468
29561
  fixed-size as are tuples containing only other fixed-sized types.
29469
29562
 
29470
29563
  @element_size must be the size of a single element in the array.
@@ -29473,8 +29566,7 @@ you might say sizeof(gint32). This value isn't used except for the purpose
29473
29566
  of a double-check that the form of the serialised data matches the caller's
29474
29567
  expectation.
29475
29568
 
29476
- @n_elements, which must be non-%NULL is set equal to the number of
29477
- items in the array.</doc>
29569
+ @n_elements must be the length of the @elements array.</doc>
29478
29570
  <return-value transfer-ownership="none">
29479
29571
  <doc xml:space="preserve">a floating reference to a new array #GVariant instance</doc>
29480
29572
  <type name="Variant" c:type="GVariant*"/>
@@ -30029,7 +30121,7 @@ pointing to the argument following the last.
30029
30121
 
30030
30122
  Note that the arguments in @app must be of the correct width for their
30031
30123
  types specified in @format_string when collected into the #va_list.
30032
- See the [GVariant varargs documentation][gvariant-varargs.
30124
+ See the [GVariant varargs documentation][gvariant-varargs].
30033
30125
 
30034
30126
  These two generalisations allow mixing of multiple calls to
30035
30127
  g_variant_new_va() and g_variant_get_va() within a single actual
@@ -31902,7 +31994,7 @@ It typically only makes sense to do this on a stack-allocated
31902
31994
  #GVariantBuilder if you want to abort building the value part-way
31903
31995
  through. This function need not be called if you call
31904
31996
  g_variant_builder_end() and it also doesn't need to be called on
31905
- builders allocated with g_variant_builder_new (see
31997
+ builders allocated with g_variant_builder_new() (see
31906
31998
  g_variant_builder_unref() for that).
31907
31999
 
31908
32000
  This function leaves the #GVariantBuilder structure set to all-zeros.
@@ -33073,7 +33165,7 @@ The meaning of each of the characters is as follows:
33073
33165
  - `s`: the type string of %G_VARIANT_TYPE_STRING; a string.
33074
33166
  - `o`: the type string of %G_VARIANT_TYPE_OBJECT_PATH; a string in the form
33075
33167
  of a D-Bus object path.
33076
- - `g`: the type string of %G_VARIANT_TYPE_STRING; a string in the form of
33168
+ - `g`: the type string of %G_VARIANT_TYPE_SIGNATURE; a string in the form of
33077
33169
  a D-Bus type signature.
33078
33170
  - `?`: the type string of %G_VARIANT_TYPE_BASIC; an indefinite type that
33079
33171
  is a supertype of any of the basic types.
@@ -33954,6 +34046,120 @@ Both @s1 and @s2 must be non-%NULL.</doc>
33954
34046
  </parameter>
33955
34047
  </parameters>
33956
34048
  </function>
34049
+ <function name="ascii_string_to_signed"
34050
+ c:identifier="g_ascii_string_to_signed"
34051
+ version="2.54"
34052
+ throws="1">
34053
+ <doc xml:space="preserve">A convenience function for converting a string to a signed number.
34054
+
34055
+ This function assumes that @str contains only a number of the given
34056
+ @base that is within inclusive bounds limited by @min and @max. If
34057
+ this is true, then the converted number is stored in @out_num. An
34058
+ empty string is not a valid input. A string with leading or
34059
+ trailing whitespace is also an invalid input.
34060
+
34061
+ @base can be between 2 and 36 inclusive. Hexadecimal numbers must
34062
+ not be prefixed with "0x" or "0X". Such a problem does not exist
34063
+ for octal numbers, since they were usually prefixed with a zero
34064
+ which does not change the value of the parsed number.
34065
+
34066
+ Parsing failures result in an error with the %G_NUMBER_PARSER_ERROR
34067
+ domain. If the input is invalid, the error code will be
34068
+ %G_NUMBER_PARSER_ERROR_INVALID. If the parsed number is out of
34069
+ bounds - %G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS.
34070
+
34071
+ See g_ascii_strtoll() if you have more complex needs such as
34072
+ parsing a string which starts with a number, but then has other
34073
+ characters.</doc>
34074
+ <return-value transfer-ownership="none">
34075
+ <doc xml:space="preserve">%TRUE if @str was a number, otherwise %FALSE.</doc>
34076
+ <type name="gboolean" c:type="gboolean"/>
34077
+ </return-value>
34078
+ <parameters>
34079
+ <parameter name="str" transfer-ownership="none">
34080
+ <doc xml:space="preserve">a string</doc>
34081
+ <type name="utf8" c:type="const gchar*"/>
34082
+ </parameter>
34083
+ <parameter name="base" transfer-ownership="none">
34084
+ <doc xml:space="preserve">base of a parsed number</doc>
34085
+ <type name="guint" c:type="guint"/>
34086
+ </parameter>
34087
+ <parameter name="min" transfer-ownership="none">
34088
+ <doc xml:space="preserve">a lower bound (inclusive)</doc>
34089
+ <type name="gint64" c:type="gint64"/>
34090
+ </parameter>
34091
+ <parameter name="max" transfer-ownership="none">
34092
+ <doc xml:space="preserve">an upper bound (inclusive)</doc>
34093
+ <type name="gint64" c:type="gint64"/>
34094
+ </parameter>
34095
+ <parameter name="out_num"
34096
+ direction="out"
34097
+ caller-allocates="0"
34098
+ transfer-ownership="full"
34099
+ optional="1"
34100
+ allow-none="1">
34101
+ <doc xml:space="preserve">a return location for a number</doc>
34102
+ <type name="gint64" c:type="gint64*"/>
34103
+ </parameter>
34104
+ </parameters>
34105
+ </function>
34106
+ <function name="ascii_string_to_unsigned"
34107
+ c:identifier="g_ascii_string_to_unsigned"
34108
+ version="2.54"
34109
+ throws="1">
34110
+ <doc xml:space="preserve">A convenience function for converting a string to an unsigned number.
34111
+
34112
+ This function assumes that @str contains only a number of the given
34113
+ @base that is within inclusive bounds limited by @min and @max. If
34114
+ this is true, then the converted number is stored in @out_num. An
34115
+ empty string is not a valid input. A string with leading or
34116
+ trailing whitespace is also an invalid input.
34117
+
34118
+ @base can be between 2 and 36 inclusive. Hexadecimal numbers must
34119
+ not be prefixed with "0x" or "0X". Such a problem does not exist
34120
+ for octal numbers, since they were usually prefixed with a zero
34121
+ which does not change the value of the parsed number.
34122
+
34123
+ Parsing failures result in an error with the %G_NUMBER_PARSER_ERROR
34124
+ domain. If the input is invalid, the error code will be
34125
+ %G_NUMBER_PARSER_ERROR_INVALID. If the parsed number is out of
34126
+ bounds - %G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS.
34127
+
34128
+ See g_ascii_strtoull() if you have more complex needs such as
34129
+ parsing a string which starts with a number, but then has other
34130
+ characters.</doc>
34131
+ <return-value transfer-ownership="none">
34132
+ <doc xml:space="preserve">%TRUE if @str was a number, otherwise %FALSE.</doc>
34133
+ <type name="gboolean" c:type="gboolean"/>
34134
+ </return-value>
34135
+ <parameters>
34136
+ <parameter name="str" transfer-ownership="none">
34137
+ <doc xml:space="preserve">a string</doc>
34138
+ <type name="utf8" c:type="const gchar*"/>
34139
+ </parameter>
34140
+ <parameter name="base" transfer-ownership="none">
34141
+ <doc xml:space="preserve">base of a parsed number</doc>
34142
+ <type name="guint" c:type="guint"/>
34143
+ </parameter>
34144
+ <parameter name="min" transfer-ownership="none">
34145
+ <doc xml:space="preserve">a lower bound (inclusive)</doc>
34146
+ <type name="guint64" c:type="guint64"/>
34147
+ </parameter>
34148
+ <parameter name="max" transfer-ownership="none">
34149
+ <doc xml:space="preserve">an upper bound (inclusive)</doc>
34150
+ <type name="guint64" c:type="guint64"/>
34151
+ </parameter>
34152
+ <parameter name="out_num"
34153
+ direction="out"
34154
+ caller-allocates="0"
34155
+ transfer-ownership="full"
34156
+ optional="1"
34157
+ allow-none="1">
34158
+ <doc xml:space="preserve">a return location for a number</doc>
34159
+ <type name="guint64" c:type="guint64*"/>
34160
+ </parameter>
34161
+ </parameters>
34162
+ </function>
33957
34163
  <function name="ascii_strncasecmp" c:identifier="g_ascii_strncasecmp">
33958
34164
  <doc xml:space="preserve">Compare @s1 and @s2, ignoring the case of ASCII characters and any
33959
34165
  characters after the first @n in each string.
@@ -37392,24 +37598,6 @@ codes are those in the #GFileError enumeration. In the error case,
37392
37598
  </parameter>
37393
37599
  </parameters>
37394
37600
  </function>
37395
- <function name="file_get_contents_utf8"
37396
- c:identifier="g_file_get_contents_utf8"
37397
- throws="1">
37398
- <return-value transfer-ownership="none">
37399
- <type name="gboolean" c:type="gboolean"/>
37400
- </return-value>
37401
- <parameters>
37402
- <parameter name="filename" transfer-ownership="none">
37403
- <type name="utf8" c:type="const gchar*"/>
37404
- </parameter>
37405
- <parameter name="contents" transfer-ownership="none">
37406
- <type name="utf8" c:type="gchar**"/>
37407
- </parameter>
37408
- <parameter name="length" transfer-ownership="none">
37409
- <type name="gsize" c:type="gsize*"/>
37410
- </parameter>
37411
- </parameters>
37412
- </function>
37413
37601
  <function name="file_open_tmp" c:identifier="g_file_open_tmp" throws="1">
37414
37602
  <doc xml:space="preserve">Opens a file for writing in the preferred directory for temporary
37415
37603
  files (as returned by g_get_tmp_dir()).
@@ -37453,21 +37641,6 @@ name encoding.</doc>
37453
37641
  </parameter>
37454
37642
  </parameters>
37455
37643
  </function>
37456
- <function name="file_open_tmp_utf8"
37457
- c:identifier="g_file_open_tmp_utf8"
37458
- throws="1">
37459
- <return-value transfer-ownership="none">
37460
- <type name="gint" c:type="gint"/>
37461
- </return-value>
37462
- <parameters>
37463
- <parameter name="tmpl" transfer-ownership="none">
37464
- <type name="utf8" c:type="const gchar*"/>
37465
- </parameter>
37466
- <parameter name="name_used" transfer-ownership="none">
37467
- <type name="utf8" c:type="gchar**"/>
37468
- </parameter>
37469
- </parameters>
37470
- </function>
37471
37644
  <function name="file_read_link"
37472
37645
  c:identifier="g_file_read_link"
37473
37646
  version="2.4"
@@ -37596,19 +37769,6 @@ extensions and those listed in the `PATHEXT` environment variable.</doc>
37596
37769
  </parameter>
37597
37770
  </parameters>
37598
37771
  </function>
37599
- <function name="file_test_utf8" c:identifier="g_file_test_utf8">
37600
- <return-value transfer-ownership="none">
37601
- <type name="gboolean" c:type="gboolean"/>
37602
- </return-value>
37603
- <parameters>
37604
- <parameter name="filename" transfer-ownership="none">
37605
- <type name="utf8" c:type="const gchar*"/>
37606
- </parameter>
37607
- <parameter name="test" transfer-ownership="none">
37608
- <type name="FileTest" c:type="GFileTest"/>
37609
- </parameter>
37610
- </parameters>
37611
- </function>
37612
37772
  <function name="filename_display_basename"
37613
37773
  c:identifier="g_filename_display_basename"
37614
37774
  version="2.6">
@@ -37691,6 +37851,7 @@ encoding used for filenames.</doc>
37691
37851
  direction="out"
37692
37852
  caller-allocates="0"
37693
37853
  transfer-ownership="full"
37854
+ nullable="1"
37694
37855
  optional="1"
37695
37856
  allow-none="1">
37696
37857
  <doc xml:space="preserve">Location to store hostname for the URI.
@@ -37700,21 +37861,6 @@ encoding used for filenames.</doc>
37700
37861
  </parameter>
37701
37862
  </parameters>
37702
37863
  </function>
37703
- <function name="filename_from_uri_utf8"
37704
- c:identifier="g_filename_from_uri_utf8"
37705
- throws="1">
37706
- <return-value transfer-ownership="full">
37707
- <type name="utf8" c:type="gchar*"/>
37708
- </return-value>
37709
- <parameters>
37710
- <parameter name="uri" transfer-ownership="none">
37711
- <type name="utf8" c:type="const gchar*"/>
37712
- </parameter>
37713
- <parameter name="hostname" transfer-ownership="none">
37714
- <type name="utf8" c:type="gchar**"/>
37715
- </parameter>
37716
- </parameters>
37717
- </function>
37718
37864
  <function name="filename_from_utf8"
37719
37865
  c:identifier="g_filename_from_utf8"
37720
37866
  throws="1">
@@ -37765,27 +37911,6 @@ on other platforms, this function indirectly depends on the
37765
37911
  </parameter>
37766
37912
  </parameters>
37767
37913
  </function>
37768
- <function name="filename_from_utf8_utf8"
37769
- c:identifier="g_filename_from_utf8_utf8"
37770
- throws="1">
37771
- <return-value transfer-ownership="full">
37772
- <type name="utf8" c:type="gchar*"/>
37773
- </return-value>
37774
- <parameters>
37775
- <parameter name="utf8string" transfer-ownership="none">
37776
- <type name="utf8" c:type="const gchar*"/>
37777
- </parameter>
37778
- <parameter name="len" transfer-ownership="none">
37779
- <type name="gssize" c:type="gssize"/>
37780
- </parameter>
37781
- <parameter name="bytes_read" transfer-ownership="none">
37782
- <type name="gsize" c:type="gsize*"/>
37783
- </parameter>
37784
- <parameter name="bytes_written" transfer-ownership="none">
37785
- <type name="gsize" c:type="gsize*"/>
37786
- </parameter>
37787
- </parameters>
37788
- </function>
37789
37914
  <function name="filename_to_uri"
37790
37915
  c:identifier="g_filename_to_uri"
37791
37916
  throws="1">
@@ -37812,21 +37937,6 @@ component following Section 3.3. of RFC 2396.</doc>
37812
37937
  </parameter>
37813
37938
  </parameters>
37814
37939
  </function>
37815
- <function name="filename_to_uri_utf8"
37816
- c:identifier="g_filename_to_uri_utf8"
37817
- throws="1">
37818
- <return-value transfer-ownership="full">
37819
- <type name="utf8" c:type="gchar*"/>
37820
- </return-value>
37821
- <parameters>
37822
- <parameter name="filename" transfer-ownership="none">
37823
- <type name="utf8" c:type="const gchar*"/>
37824
- </parameter>
37825
- <parameter name="hostname" transfer-ownership="none">
37826
- <type name="utf8" c:type="const gchar*"/>
37827
- </parameter>
37828
- </parameters>
37829
- </function>
37830
37940
  <function name="filename_to_utf8"
37831
37941
  c:identifier="g_filename_to_utf8"
37832
37942
  throws="1">
@@ -37878,27 +37988,6 @@ the [current locale][setlocale].</doc>
37878
37988
  </parameter>
37879
37989
  </parameters>
37880
37990
  </function>
37881
- <function name="filename_to_utf8_utf8"
37882
- c:identifier="g_filename_to_utf8_utf8"
37883
- throws="1">
37884
- <return-value transfer-ownership="full">
37885
- <type name="utf8" c:type="gchar*"/>
37886
- </return-value>
37887
- <parameters>
37888
- <parameter name="opsysstring" transfer-ownership="none">
37889
- <type name="utf8" c:type="const gchar*"/>
37890
- </parameter>
37891
- <parameter name="len" transfer-ownership="none">
37892
- <type name="gssize" c:type="gssize"/>
37893
- </parameter>
37894
- <parameter name="bytes_read" transfer-ownership="none">
37895
- <type name="gsize" c:type="gsize*"/>
37896
- </parameter>
37897
- <parameter name="bytes_written" transfer-ownership="none">
37898
- <type name="gsize" c:type="gsize*"/>
37899
- </parameter>
37900
- </parameters>
37901
- </function>
37902
37991
  <function name="find_program_in_path"
37903
37992
  c:identifier="g_find_program_in_path">
37904
37993
  <doc xml:space="preserve">Locates the first executable named @program in the user's path, in the
@@ -38180,12 +38269,6 @@ the current directory is the target of a symbolic link.</doc>
38180
38269
  <type name="filename" c:type="gchar*"/>
38181
38270
  </return-value>
38182
38271
  </function>
38183
- <function name="get_current_dir_utf8"
38184
- c:identifier="g_get_current_dir_utf8">
38185
- <return-value transfer-ownership="full">
38186
- <type name="utf8" c:type="gchar*"/>
38187
- </return-value>
38188
- </function>
38189
38272
  <function name="get_current_time" c:identifier="g_get_current_time">
38190
38273
  <doc xml:space="preserve">Equivalent to the UNIX gettimeofday() function, but portable.
38191
38274
 
@@ -38387,9 +38470,11 @@ similar cases.</doc>
38387
38470
  <doc xml:space="preserve">Gets the name of the program. This name should not be localized,
38388
38471
  in contrast to g_get_application_name().
38389
38472
 
38390
- If you are using GDK or GTK+ the program name is set in gdk_init(),
38391
- which is called by gtk_init(). The program name is found by taking
38392
- the last component of @argv[0].</doc>
38473
+ If you are using #GApplication the program name is set in
38474
+ g_application_run(). In case of GDK or GTK+ it is set in
38475
+ gdk_init(), which is called by gtk_init() and the
38476
+ #GtkApplication::startup handler. The program name is found by
38477
+ taking the last component of @argv[0].</doc>
38393
38478
  <return-value transfer-ownership="none">
38394
38479
  <doc xml:space="preserve">the name of the program. The returned string belongs
38395
38480
  to GLib and must not be modified or freed.</doc>
@@ -38435,12 +38520,15 @@ in the
38435
38520
  [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
38436
38521
  In this case the list of directories retrieved will be `XDG_CONFIG_DIRS`.
38437
38522
 
38438
- On Windows is the directory that contains application data for all users.
38439
- A typical path is C:\Documents and Settings\All Users\Application Data.
38440
- This folder is used for application data that is not user specific.
38441
- For example, an application can store a spell-check dictionary, a database
38442
- of clip art, or a log file in the CSIDL_COMMON_APPDATA folder.
38443
- This information will not roam and is available to anyone using the computer.</doc>
38523
+ On Windows it follows XDG Base Directory Specification if `XDG_CONFIG_DIRS` is defined.
38524
+ If `XDG_CONFIG_DIRS` is undefined, the directory that contains application
38525
+ data for all users is used instead. A typical path is
38526
+ `C:\Documents and Settings\All Users\Application Data`.
38527
+ This folder is used for application data
38528
+ that is not user specific. For example, an application can store
38529
+ a spell-check dictionary, a database of clip art, or a log file in the
38530
+ CSIDL_COMMON_APPDATA folder. This information will not roam and is available
38531
+ to anyone using the computer.</doc>
38444
38532
  <return-value transfer-ownership="none">
38445
38533
  <doc xml:space="preserve">
38446
38534
  a %NULL-terminated array of strings owned by GLib that must not be
@@ -38459,9 +38547,11 @@ system-wide application data.
38459
38547
  On UNIX platforms this is determined using the mechanisms described
38460
38548
  in the
38461
38549
  [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec)
38462
- In this case the list of directories retrieved will be XDG_DATA_DIRS.
38550
+ In this case the list of directories retrieved will be `XDG_DATA_DIRS`.
38463
38551
 
38464
- On Windows the first elements in the list are the Application Data
38552
+ On Windows it follows XDG Base Directory Specification if `XDG_DATA_DIRS` is defined.
38553
+ If `XDG_DATA_DIRS` is undefined,
38554
+ the first elements in the list are the Application Data
38465
38555
  and Documents folders for All Users. (These can be determined only
38466
38556
  on Windows 2000 or later and are not present in the list on other
38467
38557
  Windows versions.) See documentation for CSIDL_COMMON_APPDATA and
@@ -38520,12 +38610,13 @@ data specific to particular user.
38520
38610
  On UNIX platforms this is determined using the mechanisms described
38521
38611
  in the
38522
38612
  [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
38523
- In this case the directory retrieved will be XDG_CACHE_HOME.
38613
+ In this case the directory retrieved will be `XDG_CACHE_HOME`.
38524
38614
 
38525
- On Windows is the directory that serves as a common repository for
38526
- temporary Internet files. A typical path is
38527
- C:\Documents and Settings\username\Local Settings\Temporary Internet Files.
38528
- See documentation for CSIDL_INTERNET_CACHE.</doc>
38615
+ On Windows it follows XDG Base Directory Specification if `XDG_CACHE_HOME` is defined.
38616
+ If `XDG_CACHE_HOME` is undefined, the directory that serves as a common
38617
+ repository for temporary Internet files is used instead. A typical path is
38618
+ `C:\Documents and Settings\username\Local Settings\Temporary Internet Files`.
38619
+ See the [documentation for `CSIDL_INTERNET_CACHE`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_internet_cache).</doc>
38529
38620
  <return-value transfer-ownership="none">
38530
38621
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38531
38622
  or freed.</doc>
@@ -38543,10 +38634,12 @@ in the
38543
38634
  [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
38544
38635
  In this case the directory retrieved will be `XDG_CONFIG_HOME`.
38545
38636
 
38546
- On Windows this is the folder to use for local (as opposed to
38547
- roaming) application data. See documentation for
38548
- CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as
38549
- what g_get_user_data_dir() returns.</doc>
38637
+ On Windows it follows XDG Base Directory Specification if `XDG_CONFIG_HOME` is defined.
38638
+ If `XDG_CONFIG_HOME` is undefined, the folder to use for local (as opposed
38639
+ to roaming) application data is used instead. See the
38640
+ [documentation for `CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata).
38641
+ Note that in this case on Windows it will be the same
38642
+ as what g_get_user_data_dir() returns.</doc>
38550
38643
  <return-value transfer-ownership="none">
38551
38644
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38552
38645
  or freed.</doc>
@@ -38564,10 +38657,12 @@ in the
38564
38657
  [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
38565
38658
  In this case the directory retrieved will be `XDG_DATA_HOME`.
38566
38659
 
38567
- On Windows this is the folder to use for local (as opposed to
38568
- roaming) application data. See documentation for
38569
- CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as
38570
- what g_get_user_config_dir() returns.</doc>
38660
+ On Windows it follows XDG Base Directory Specification if `XDG_DATA_HOME`
38661
+ is defined. If `XDG_DATA_HOME` is undefined, the folder to use for local (as
38662
+ opposed to roaming) application data is used instead. See the
38663
+ [documentation for `CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata).
38664
+ Note that in this case on Windows it will be the same
38665
+ as what g_get_user_config_dir() returns.</doc>
38571
38666
  <return-value transfer-ownership="none">
38572
38667
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38573
38668
  or freed.</doc>
@@ -38590,18 +38685,13 @@ consistent on a machine. On Windows, it is always UTF-8.</doc>
38590
38685
  <doc xml:space="preserve">Returns a directory that is unique to the current user on the local
38591
38686
  system.
38592
38687
 
38593
- On UNIX platforms this is determined using the mechanisms described
38688
+ This is determined using the mechanisms described
38594
38689
  in the
38595
38690
  [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
38596
38691
  This is the directory
38597
38692
  specified in the `XDG_RUNTIME_DIR` environment variable.
38598
38693
  In the case that this variable is not set, we return the value of
38599
- g_get_user_cache_dir(), after verifying that it exists.
38600
-
38601
- On Windows this is the folder to use for local (as opposed to
38602
- roaming) application data. See documentation for
38603
- CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as
38604
- what g_get_user_config_dir() returns.</doc>
38694
+ g_get_user_cache_dir(), after verifying that it exists.</doc>
38605
38695
  <return-value transfer-ownership="none">
38606
38696
  <doc xml:space="preserve">a string owned by GLib that must not be
38607
38697
  modified or freed.</doc>
@@ -38656,16 +38746,6 @@ references to other environment variables, they are expanded.</doc>
38656
38746
  </parameter>
38657
38747
  </parameters>
38658
38748
  </function>
38659
- <function name="getenv_utf8" c:identifier="g_getenv_utf8">
38660
- <return-value transfer-ownership="none">
38661
- <type name="utf8" c:type="const gchar*"/>
38662
- </return-value>
38663
- <parameters>
38664
- <parameter name="variable" transfer-ownership="none">
38665
- <type name="utf8" c:type="const gchar*"/>
38666
- </parameter>
38667
- </parameters>
38668
- </function>
38669
38749
  <function name="hash_table_add"
38670
38750
  c:identifier="g_hash_table_add"
38671
38751
  moved-to="HashTable.add"
@@ -40171,7 +40251,10 @@ There can only be one writer function. It is an error to set more than one.</doc
40171
40251
  <doc xml:space="preserve">Log a message with structured data. The message will be passed through to
40172
40252
  the log writer set by the application using g_log_set_writer_func(). If the
40173
40253
  message is fatal (i.e. its log level is %G_LOG_LEVEL_ERROR), the program will
40174
- be aborted at the end of this function.
40254
+ be aborted at the end of this function. If the log writer returns
40255
+ %G_LOG_WRITER_UNHANDLED (failure), no other fallback writers will be tried.
40256
+ See the documentation for #GLogWriterFunc for information on chaining
40257
+ writers.
40175
40258
 
40176
40259
  The structured data is provided as key–value pairs, where keys are UTF-8
40177
40260
  strings, and values are arbitrary pointers — typically pointing to UTF-8
@@ -40236,8 +40319,8 @@ g_log_structured_array (G_LOG_LEVEL_DEBUG, fields, G_N_ELEMENTS (fields));
40236
40319
  ]|
40237
40320
 
40238
40321
  Note also that, even if no other structured fields are specified, there
40239
- must always be a "MESSAGE" key before the format string. The "MESSAGE"-format
40240
- pair has to be the last of the key-value pairs, and "MESSAGE" is the only
40322
+ must always be a `MESSAGE` key before the format string. The `MESSAGE`-format
40323
+ pair has to be the last of the key-value pairs, and `MESSAGE` is the only
40241
40324
  field for which printf()-style formatting is supported.
40242
40325
 
40243
40326
  The default writer function for `stdout` and `stderr` will automatically
@@ -40430,7 +40513,13 @@ UTF-8.</doc>
40430
40513
  version="2.50">
40431
40514
  <doc xml:space="preserve">Check whether the given @output_fd file descriptor is a connection to the
40432
40515
  systemd journal, or something else (like a log file or `stdout` or
40433
- `stderr`).</doc>
40516
+ `stderr`).
40517
+
40518
+ Invalid file descriptors are accepted and return %FALSE, which allows for
40519
+ the following construct without needing any additional error handling:
40520
+ |[&lt;!-- language="C" --&gt;
40521
+ is_journald = g_log_writer_is_journald (fileno (stderr));
40522
+ ]|</doc>
40434
40523
  <return-value transfer-ownership="none">
40435
40524
  <doc xml:space="preserve">%TRUE if @output_fd points to the journal, %FALSE otherwise</doc>
40436
40525
  <type name="gboolean" c:type="gboolean"/>
@@ -41253,16 +41342,6 @@ on Windows it should be in UTF-8.</doc>
41253
41342
  </parameter>
41254
41343
  </parameters>
41255
41344
  </function>
41256
- <function name="mkstemp_utf8" c:identifier="g_mkstemp_utf8">
41257
- <return-value transfer-ownership="none">
41258
- <type name="gint" c:type="gint"/>
41259
- </return-value>
41260
- <parameters>
41261
- <parameter name="tmpl" transfer-ownership="none">
41262
- <type name="utf8" c:type="gchar*"/>
41263
- </parameter>
41264
- </parameters>
41265
- </function>
41266
41345
  <function name="nullify_pointer" c:identifier="g_nullify_pointer">
41267
41346
  <doc xml:space="preserve">Set the pointer at the specified location to %NULL.</doc>
41268
41347
  <return-value transfer-ownership="none">
@@ -41275,6 +41354,12 @@ on Windows it should be in UTF-8.</doc>
41275
41354
  </parameter>
41276
41355
  </parameters>
41277
41356
  </function>
41357
+ <function name="number_parser_error_quark"
41358
+ c:identifier="g_number_parser_error_quark">
41359
+ <return-value transfer-ownership="none">
41360
+ <type name="Quark" c:type="GQuark"/>
41361
+ </return-value>
41362
+ </function>
41278
41363
  <function name="on_error_query" c:identifier="g_on_error_query">
41279
41364
  <doc xml:space="preserve">Prompts the user with
41280
41365
  `[E]xit, [H]alt, show [S]tack trace or [P]roceed`.
@@ -41796,7 +41881,9 @@ to take advantage of this feature is up to you.</doc>
41796
41881
  <parameter name="err"
41797
41882
  direction="inout"
41798
41883
  caller-allocates="0"
41799
- transfer-ownership="full">
41884
+ transfer-ownership="full"
41885
+ nullable="1"
41886
+ allow-none="1">
41800
41887
  <doc xml:space="preserve">a return location for a #GError</doc>
41801
41888
  <type name="Error" c:type="GError**"/>
41802
41889
  </parameter>
@@ -41962,6 +42049,101 @@ g_prefix_error().</doc>
41962
42049
  </parameter>
41963
42050
  </parameters>
41964
42051
  </function>
42052
+ <function name="ptr_array_find"
42053
+ c:identifier="g_ptr_array_find"
42054
+ moved-to="PtrArray.find"
42055
+ version="2.54"
42056
+ introspectable="0">
42057
+ <doc xml:space="preserve">Checks whether @needle exists in @haystack. If the element is found, %TRUE is
42058
+ returned and the element’s index is returned in @index_ (if non-%NULL).
42059
+ Otherwise, %FALSE is returned and @index_ is undefined. If @needle exists
42060
+ multiple times in @haystack, the index of the first instance is returned.
42061
+
42062
+ This does pointer comparisons only. If you want to use more complex equality
42063
+ checks, such as string comparisons, use g_ptr_array_find_with_equal_func().</doc>
42064
+ <return-value transfer-ownership="none">
42065
+ <doc xml:space="preserve">%TRUE if @needle is one of the elements of @haystack</doc>
42066
+ <type name="gboolean" c:type="gboolean"/>
42067
+ </return-value>
42068
+ <parameters>
42069
+ <parameter name="haystack" transfer-ownership="none">
42070
+ <doc xml:space="preserve">pointer array to be searched</doc>
42071
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
42072
+ <type name="gpointer" c:type="gpointer"/>
42073
+ </array>
42074
+ </parameter>
42075
+ <parameter name="needle"
42076
+ transfer-ownership="none"
42077
+ nullable="1"
42078
+ allow-none="1">
42079
+ <doc xml:space="preserve">pointer to look for</doc>
42080
+ <type name="gpointer" c:type="gconstpointer"/>
42081
+ </parameter>
42082
+ <parameter name="index_"
42083
+ direction="out"
42084
+ caller-allocates="1"
42085
+ transfer-ownership="none"
42086
+ optional="1"
42087
+ allow-none="1">
42088
+ <doc xml:space="preserve">return location for the index of
42089
+ the element, if found</doc>
42090
+ <type name="guint" c:type="guint*"/>
42091
+ </parameter>
42092
+ </parameters>
42093
+ </function>
42094
+ <function name="ptr_array_find_with_equal_func"
42095
+ c:identifier="g_ptr_array_find_with_equal_func"
42096
+ moved-to="PtrArray.find_with_equal_func"
42097
+ version="2.54"
42098
+ introspectable="0">
42099
+ <doc xml:space="preserve">Checks whether @needle exists in @haystack, using the given @equal_func.
42100
+ If the element is found, %TRUE is returned and the element’s index is
42101
+ returned in @index_ (if non-%NULL). Otherwise, %FALSE is returned and @index_
42102
+ is undefined. If @needle exists multiple times in @haystack, the index of
42103
+ the first instance is returned.
42104
+
42105
+ @equal_func is called with the element from the array as its first parameter,
42106
+ and @needle as its second parameter. If @equal_func is %NULL, pointer
42107
+ equality is used.</doc>
42108
+ <return-value transfer-ownership="none">
42109
+ <doc xml:space="preserve">%TRUE if @needle is one of the elements of @haystack</doc>
42110
+ <type name="gboolean" c:type="gboolean"/>
42111
+ </return-value>
42112
+ <parameters>
42113
+ <parameter name="haystack" transfer-ownership="none">
42114
+ <doc xml:space="preserve">pointer array to be searched</doc>
42115
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
42116
+ <type name="gpointer" c:type="gpointer"/>
42117
+ </array>
42118
+ </parameter>
42119
+ <parameter name="needle"
42120
+ transfer-ownership="none"
42121
+ nullable="1"
42122
+ allow-none="1">
42123
+ <doc xml:space="preserve">pointer to look for</doc>
42124
+ <type name="gpointer" c:type="gconstpointer"/>
42125
+ </parameter>
42126
+ <parameter name="equal_func"
42127
+ transfer-ownership="none"
42128
+ nullable="1"
42129
+ allow-none="1">
42130
+ <doc xml:space="preserve">the function to call for each element, which should
42131
+ return %TRUE when the desired element is found; or %NULL to use pointer
42132
+ equality</doc>
42133
+ <type name="EqualFunc" c:type="GEqualFunc"/>
42134
+ </parameter>
42135
+ <parameter name="index_"
42136
+ direction="out"
42137
+ caller-allocates="1"
42138
+ transfer-ownership="none"
42139
+ optional="1"
42140
+ allow-none="1">
42141
+ <doc xml:space="preserve">return location for the index of
42142
+ the element, if found</doc>
42143
+ <type name="guint" c:type="guint*"/>
42144
+ </parameter>
42145
+ </parameters>
42146
+ </function>
41965
42147
  <function name="qsort_with_data"
41966
42148
  c:identifier="g_qsort_with_data"
41967
42149
  introspectable="0">
@@ -42506,6 +42688,29 @@ on your system.</doc>
42506
42688
  </parameter>
42507
42689
  </parameters>
42508
42690
  </function>
42691
+ <function name="sequence_insert_before"
42692
+ c:identifier="g_sequence_insert_before"
42693
+ moved-to="Sequence.insert_before"
42694
+ version="2.14">
42695
+ <doc xml:space="preserve">Inserts a new item just before the item pointed to by @iter.</doc>
42696
+ <return-value transfer-ownership="none">
42697
+ <doc xml:space="preserve">an iterator pointing to the new item</doc>
42698
+ <type name="SequenceIter" c:type="GSequenceIter*"/>
42699
+ </return-value>
42700
+ <parameters>
42701
+ <parameter name="iter" transfer-ownership="none">
42702
+ <doc xml:space="preserve">a #GSequenceIter</doc>
42703
+ <type name="SequenceIter" c:type="GSequenceIter*"/>
42704
+ </parameter>
42705
+ <parameter name="data"
42706
+ transfer-ownership="none"
42707
+ nullable="1"
42708
+ allow-none="1">
42709
+ <doc xml:space="preserve">the data for the new item</doc>
42710
+ <type name="gpointer" c:type="gpointer"/>
42711
+ </parameter>
42712
+ </parameters>
42713
+ </function>
42509
42714
  <function name="sequence_move"
42510
42715
  c:identifier="g_sequence_move"
42511
42716
  moved-to="Sequence.move"
@@ -42559,6 +42764,32 @@ the (@begin, @end) range, the range does not move.</doc>
42559
42764
  </parameter>
42560
42765
  </parameters>
42561
42766
  </function>
42767
+ <function name="sequence_range_get_midpoint"
42768
+ c:identifier="g_sequence_range_get_midpoint"
42769
+ moved-to="Sequence.range_get_midpoint"
42770
+ version="2.14">
42771
+ <doc xml:space="preserve">Finds an iterator somewhere in the range (@begin, @end). This
42772
+ iterator will be close to the middle of the range, but is not
42773
+ guaranteed to be exactly in the middle.
42774
+
42775
+ The @begin and @end iterators must both point to the same sequence
42776
+ and @begin must come before or be equal to @end in the sequence.</doc>
42777
+ <return-value transfer-ownership="none">
42778
+ <doc xml:space="preserve">a #GSequenceIter pointing somewhere in the
42779
+ (@begin, @end) range</doc>
42780
+ <type name="SequenceIter" c:type="GSequenceIter*"/>
42781
+ </return-value>
42782
+ <parameters>
42783
+ <parameter name="begin" transfer-ownership="none">
42784
+ <doc xml:space="preserve">a #GSequenceIter</doc>
42785
+ <type name="SequenceIter" c:type="GSequenceIter*"/>
42786
+ </parameter>
42787
+ <parameter name="end" transfer-ownership="none">
42788
+ <doc xml:space="preserve">a #GSequenceIter</doc>
42789
+ <type name="SequenceIter" c:type="GSequenceIter*"/>
42790
+ </parameter>
42791
+ </parameters>
42792
+ </function>
42562
42793
  <function name="sequence_remove"
42563
42794
  c:identifier="g_sequence_remove"
42564
42795
  moved-to="Sequence.remove"
@@ -42741,6 +42972,12 @@ that could include printf() escape sequences.</doc>
42741
42972
  <doc xml:space="preserve">Sets the name of the program. This name should not be localized,
42742
42973
  in contrast to g_set_application_name().
42743
42974
 
42975
+ If you are using #GApplication the program name is set in
42976
+ g_application_run(). In case of GDK or GTK+ it is set in
42977
+ gdk_init(), which is called by gtk_init() and the
42978
+ #GtkApplication::startup handler. The program name is found by
42979
+ taking the last component of @argv[0].
42980
+
42744
42981
  Note that for thread-safety reasons this function can only be called once.</doc>
42745
42982
  <return-value transfer-ownership="none">
42746
42983
  <type name="none" c:type="void"/>
@@ -42833,22 +43070,6 @@ array directly to execvpe(), g_spawn_async(), or the like.</doc>
42833
43070
  </parameter>
42834
43071
  </parameters>
42835
43072
  </function>
42836
- <function name="setenv_utf8" c:identifier="g_setenv_utf8">
42837
- <return-value transfer-ownership="none">
42838
- <type name="gboolean" c:type="gboolean"/>
42839
- </return-value>
42840
- <parameters>
42841
- <parameter name="variable" transfer-ownership="none">
42842
- <type name="utf8" c:type="const gchar*"/>
42843
- </parameter>
42844
- <parameter name="value" transfer-ownership="none">
42845
- <type name="utf8" c:type="const gchar*"/>
42846
- </parameter>
42847
- <parameter name="overwrite" transfer-ownership="none">
42848
- <type name="gboolean" c:type="gboolean"/>
42849
- </parameter>
42850
- </parameters>
42851
- </function>
42852
43073
  <function name="shell_error_quark" c:identifier="g_shell_error_quark">
42853
43074
  <return-value transfer-ownership="none">
42854
43075
  <type name="Quark" c:type="GQuark"/>
@@ -43298,10 +43519,10 @@ simply calls the g_spawn_async_with_pipes() without any pipes.
43298
43519
  You should call g_spawn_close_pid() on the returned child process
43299
43520
  reference when you don't need it any more.
43300
43521
 
43301
- If you are writing a GTK+ application, and the program you are
43302
- spawning is a graphical application, too, then you may want to
43303
- use gdk_spawn_on_screen() instead to ensure that the spawned program
43304
- opens its windows on the right screen.
43522
+ If you are writing a GTK+ application, and the program you are spawning is a
43523
+ graphical application too, then to ensure that the spawned program opens its
43524
+ windows on the right screen, you may want to use #GdkAppLaunchContext,
43525
+ #GAppLaunchcontext, or set the %DISPLAY environment variable.
43305
43526
 
43306
43527
  Note that the returned @child_pid on Windows is a handle to the child
43307
43528
  process and not its identifier. Process handles and process identifiers
@@ -43364,40 +43585,6 @@ are different concepts on Windows.</doc>
43364
43585
  </parameter>
43365
43586
  </parameters>
43366
43587
  </function>
43367
- <function name="spawn_async_utf8"
43368
- c:identifier="g_spawn_async_utf8"
43369
- introspectable="0"
43370
- throws="1">
43371
- <return-value transfer-ownership="none">
43372
- <type name="gboolean" c:type="gboolean"/>
43373
- </return-value>
43374
- <parameters>
43375
- <parameter name="working_directory" transfer-ownership="none">
43376
- <type name="utf8" c:type="const gchar*"/>
43377
- </parameter>
43378
- <parameter name="argv" transfer-ownership="none">
43379
- <type name="utf8" c:type="gchar**"/>
43380
- </parameter>
43381
- <parameter name="envp" transfer-ownership="none">
43382
- <type name="utf8" c:type="gchar**"/>
43383
- </parameter>
43384
- <parameter name="flags" transfer-ownership="none">
43385
- <type name="SpawnFlags" c:type="GSpawnFlags"/>
43386
- </parameter>
43387
- <parameter name="child_setup" transfer-ownership="none" closure="5">
43388
- <type name="SpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
43389
- </parameter>
43390
- <parameter name="user_data"
43391
- transfer-ownership="none"
43392
- nullable="1"
43393
- allow-none="1">
43394
- <type name="gpointer" c:type="gpointer"/>
43395
- </parameter>
43396
- <parameter name="child_pid" transfer-ownership="none">
43397
- <type name="Pid" c:type="GPid*"/>
43398
- </parameter>
43399
- </parameters>
43400
- </function>
43401
43588
  <function name="spawn_async_with_pipes"
43402
43589
  c:identifier="g_spawn_async_with_pipes"
43403
43590
  throws="1">
@@ -43459,10 +43646,11 @@ If @envp is %NULL, the child inherits its parent's environment.
43459
43646
 
43460
43647
  @flags should be the bitwise OR of any flags you want to affect the
43461
43648
  function's behaviour. The %G_SPAWN_DO_NOT_REAP_CHILD means that the
43462
- child will not automatically be reaped; you must use a child watch to
43463
- be notified about the death of the child process. Eventually you must
43464
- call g_spawn_close_pid() on the @child_pid, in order to free
43465
- resources which may be associated with the child process. (On Unix,
43649
+ child will not automatically be reaped; you must use a child watch
43650
+ (g_child_watch_add()) to be notified about the death of the child process,
43651
+ otherwise it will stay around as a zombie process until this process exits.
43652
+ Eventually you must call g_spawn_close_pid() on the @child_pid, in order to
43653
+ free resources which may be associated with the child process. (On Unix,
43466
43654
  using a child watch is equivalent to calling waitpid() or handling
43467
43655
  the %SIGCHLD signal manually. On Windows, calling g_spawn_close_pid()
43468
43656
  is equivalent to calling CloseHandle() on the process handle returned
@@ -43546,10 +43734,10 @@ and @standard_error will not be filled with valid values.
43546
43734
  If @child_pid is not %NULL and an error does not occur then the returned
43547
43735
  process reference must be closed using g_spawn_close_pid().
43548
43736
 
43549
- If you are writing a GTK+ application, and the program you
43550
- are spawning is a graphical application, too, then you may
43551
- want to use gdk_spawn_on_screen_with_pipes() instead to ensure that
43552
- the spawned program opens its windows on the right screen.</doc>
43737
+ If you are writing a GTK+ application, and the program you are spawning is a
43738
+ graphical application too, then to ensure that the spawned program opens its
43739
+ windows on the right screen, you may want to use #GdkAppLaunchContext,
43740
+ #GAppLaunchcontext, or set the %DISPLAY environment variable.</doc>
43553
43741
  <return-value transfer-ownership="none">
43554
43742
  <doc xml:space="preserve">%TRUE on success, %FALSE if an error was set</doc>
43555
43743
  <type name="gboolean" c:type="gboolean"/>
@@ -43635,49 +43823,6 @@ the spawned program opens its windows on the right screen.</doc>
43635
43823
  </parameter>
43636
43824
  </parameters>
43637
43825
  </function>
43638
- <function name="spawn_async_with_pipes_utf8"
43639
- c:identifier="g_spawn_async_with_pipes_utf8"
43640
- introspectable="0"
43641
- throws="1">
43642
- <return-value transfer-ownership="none">
43643
- <type name="gboolean" c:type="gboolean"/>
43644
- </return-value>
43645
- <parameters>
43646
- <parameter name="working_directory" transfer-ownership="none">
43647
- <type name="utf8" c:type="const gchar*"/>
43648
- </parameter>
43649
- <parameter name="argv" transfer-ownership="none">
43650
- <type name="utf8" c:type="gchar**"/>
43651
- </parameter>
43652
- <parameter name="envp" transfer-ownership="none">
43653
- <type name="utf8" c:type="gchar**"/>
43654
- </parameter>
43655
- <parameter name="flags" transfer-ownership="none">
43656
- <type name="SpawnFlags" c:type="GSpawnFlags"/>
43657
- </parameter>
43658
- <parameter name="child_setup" transfer-ownership="none" closure="5">
43659
- <type name="SpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
43660
- </parameter>
43661
- <parameter name="user_data"
43662
- transfer-ownership="none"
43663
- nullable="1"
43664
- allow-none="1">
43665
- <type name="gpointer" c:type="gpointer"/>
43666
- </parameter>
43667
- <parameter name="child_pid" transfer-ownership="none">
43668
- <type name="Pid" c:type="GPid*"/>
43669
- </parameter>
43670
- <parameter name="standard_input" transfer-ownership="none">
43671
- <type name="gint" c:type="gint*"/>
43672
- </parameter>
43673
- <parameter name="standard_output" transfer-ownership="none">
43674
- <type name="gint" c:type="gint*"/>
43675
- </parameter>
43676
- <parameter name="standard_error" transfer-ownership="none">
43677
- <type name="gint" c:type="gint*"/>
43678
- </parameter>
43679
- </parameters>
43680
- </function>
43681
43826
  <function name="spawn_check_exit_status"
43682
43827
  c:identifier="g_spawn_check_exit_status"
43683
43828
  version="2.34"
@@ -43768,18 +43913,6 @@ The same concerns on Windows apply as for g_spawn_command_line_sync().</doc>
43768
43913
  </parameter>
43769
43914
  </parameters>
43770
43915
  </function>
43771
- <function name="spawn_command_line_async_utf8"
43772
- c:identifier="g_spawn_command_line_async_utf8"
43773
- throws="1">
43774
- <return-value transfer-ownership="none">
43775
- <type name="gboolean" c:type="gboolean"/>
43776
- </return-value>
43777
- <parameters>
43778
- <parameter name="command_line" transfer-ownership="none">
43779
- <type name="utf8" c:type="const gchar*"/>
43780
- </parameter>
43781
- </parameters>
43782
- </function>
43783
43916
  <function name="spawn_command_line_sync"
43784
43917
  c:identifier="g_spawn_command_line_sync"
43785
43918
  throws="1">
@@ -43847,27 +43980,6 @@ separator. You need to enclose such paths with single quotes, like
43847
43980
  </parameter>
43848
43981
  </parameters>
43849
43982
  </function>
43850
- <function name="spawn_command_line_sync_utf8"
43851
- c:identifier="g_spawn_command_line_sync_utf8"
43852
- throws="1">
43853
- <return-value transfer-ownership="none">
43854
- <type name="gboolean" c:type="gboolean"/>
43855
- </return-value>
43856
- <parameters>
43857
- <parameter name="command_line" transfer-ownership="none">
43858
- <type name="utf8" c:type="const gchar*"/>
43859
- </parameter>
43860
- <parameter name="standard_output" transfer-ownership="none">
43861
- <type name="utf8" c:type="gchar**"/>
43862
- </parameter>
43863
- <parameter name="standard_error" transfer-ownership="none">
43864
- <type name="utf8" c:type="gchar**"/>
43865
- </parameter>
43866
- <parameter name="exit_status" transfer-ownership="none">
43867
- <type name="gint" c:type="gint*"/>
43868
- </parameter>
43869
- </parameters>
43870
- </function>
43871
43983
  <function name="spawn_error_quark" c:identifier="g_spawn_error_quark">
43872
43984
  <return-value transfer-ownership="none">
43873
43985
  <type name="Quark" c:type="GQuark"/>
@@ -43978,46 +44090,6 @@ how these functions work on Windows.</doc>
43978
44090
  </parameter>
43979
44091
  </parameters>
43980
44092
  </function>
43981
- <function name="spawn_sync_utf8"
43982
- c:identifier="g_spawn_sync_utf8"
43983
- introspectable="0"
43984
- throws="1">
43985
- <return-value transfer-ownership="none">
43986
- <type name="gboolean" c:type="gboolean"/>
43987
- </return-value>
43988
- <parameters>
43989
- <parameter name="working_directory" transfer-ownership="none">
43990
- <type name="utf8" c:type="const gchar*"/>
43991
- </parameter>
43992
- <parameter name="argv" transfer-ownership="none">
43993
- <type name="utf8" c:type="gchar**"/>
43994
- </parameter>
43995
- <parameter name="envp" transfer-ownership="none">
43996
- <type name="utf8" c:type="gchar**"/>
43997
- </parameter>
43998
- <parameter name="flags" transfer-ownership="none">
43999
- <type name="SpawnFlags" c:type="GSpawnFlags"/>
44000
- </parameter>
44001
- <parameter name="child_setup" transfer-ownership="none" closure="5">
44002
- <type name="SpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
44003
- </parameter>
44004
- <parameter name="user_data"
44005
- transfer-ownership="none"
44006
- nullable="1"
44007
- allow-none="1">
44008
- <type name="gpointer" c:type="gpointer"/>
44009
- </parameter>
44010
- <parameter name="standard_output" transfer-ownership="none">
44011
- <type name="utf8" c:type="gchar**"/>
44012
- </parameter>
44013
- <parameter name="standard_error" transfer-ownership="none">
44014
- <type name="utf8" c:type="gchar**"/>
44015
- </parameter>
44016
- <parameter name="exit_status" transfer-ownership="none">
44017
- <type name="gint" c:type="gint*"/>
44018
- </parameter>
44019
- </parameters>
44020
- </function>
44021
44093
  <function name="sprintf"
44022
44094
  c:identifier="g_sprintf"
44023
44095
  version="2.2"
@@ -44649,7 +44721,17 @@ the lifetime of the process.
44649
44721
 
44650
44722
  Note that the string may be translated according to the current locale.
44651
44723
 
44652
- The value of %errno will not be changed by this function.</doc>
44724
+ The value of %errno will not be changed by this function. However, it may
44725
+ be changed by intermediate function calls, so you should save its value
44726
+ as soon as the call returns:
44727
+ |[
44728
+ int saved_errno;
44729
+
44730
+ ret = read (blah);
44731
+ saved_errno = errno;
44732
+
44733
+ g_strerror (saved_errno);
44734
+ ]|</doc>
44653
44735
  <return-value transfer-ownership="none">
44654
44736
  <doc xml:space="preserve">a UTF-8 string describing the error code. If the error code
44655
44737
  is unknown, it returns a string like "unknown error (&lt;code&gt;)".</doc>
@@ -47888,16 +47970,6 @@ array directly to execvpe(), g_spawn_async(), or the like.</doc>
47888
47970
  </parameter>
47889
47971
  </parameters>
47890
47972
  </function>
47891
- <function name="unsetenv_utf8" c:identifier="g_unsetenv_utf8">
47892
- <return-value transfer-ownership="none">
47893
- <type name="none" c:type="void"/>
47894
- </return-value>
47895
- <parameters>
47896
- <parameter name="variable" transfer-ownership="none">
47897
- <type name="utf8" c:type="const gchar*"/>
47898
- </parameter>
47899
- </parameters>
47900
- </function>
47901
47973
  <function name="uri_escape_string"
47902
47974
  c:identifier="g_uri_escape_string"
47903
47975
  version="2.16">
@@ -48273,9 +48345,15 @@ Note that this function depends on the [current locale][setlocale].</doc>
48273
48345
 
48274
48346
  @p does not have to be at the beginning of a UTF-8 character. No check
48275
48347
  is made to see if the character found is actually valid other than
48276
- it starts with an appropriate byte.</doc>
48277
- <return-value transfer-ownership="full">
48278
- <doc xml:space="preserve">a pointer to the found character or %NULL</doc>
48348
+ it starts with an appropriate byte.
48349
+
48350
+ If @end is %NULL, the return value will never be %NULL: if the end of the
48351
+ string is reached, a pointer to the terminating nul byte is returned. If
48352
+ @end is non-%NULL, the return value will be %NULL if the end of the string
48353
+ is reached.</doc>
48354
+ <return-value transfer-ownership="full" nullable="1">
48355
+ <doc xml:space="preserve">a pointer to the found character or %NULL if @end is
48356
+ set and is reached</doc>
48279
48357
  <type name="utf8" c:type="gchar*"/>
48280
48358
  </return-value>
48281
48359
  <parameters>
@@ -48339,7 +48417,11 @@ instead.</doc>
48339
48417
  <doc xml:space="preserve">Convert a sequence of bytes encoded as UTF-8 to a Unicode character.
48340
48418
  This function checks for incomplete characters, for invalid characters
48341
48419
  such as characters that are out of the range of Unicode, and for
48342
- overlong encodings of valid characters.</doc>
48420
+ overlong encodings of valid characters.
48421
+
48422
+ Note that g_utf8_get_char_validated() returns (gunichar)-2 if
48423
+ @max_len is positive and any of the bytes in the first UTF-8 character
48424
+ sequence are nul.</doc>
48343
48425
  <return-value transfer-ownership="none">
48344
48426
  <doc xml:space="preserve">the resulting character. If @p points to a partial
48345
48427
  sequence at the end of a string that could begin a valid
@@ -49466,6 +49548,77 @@ be freed with g_strfreev() when no longer needed.</doc>
49466
49548
  </array>
49467
49549
  </return-value>
49468
49550
  </function>
49551
+ <function name="win32_get_package_installation_directory"
49552
+ c:identifier="g_win32_get_package_installation_directory"
49553
+ deprecated="1"
49554
+ deprecated-version="2.18">
49555
+ <doc xml:space="preserve">Try to determine the installation directory for a software package.
49556
+
49557
+ This function is deprecated. Use
49558
+ g_win32_get_package_installation_directory_of_module() instead.
49559
+
49560
+ The use of @package is deprecated. You should always pass %NULL. A
49561
+ warning is printed if non-NULL is passed as @package.
49562
+
49563
+ The original intended use of @package was for a short identifier of
49564
+ the package, typically the same identifier as used for
49565
+ `GETTEXT_PACKAGE` in software configured using GNU
49566
+ autotools. The function first looks in the Windows Registry for the
49567
+ value `#InstallationDirectory` in the key
49568
+ `#HKLM\Software\@package`, and if that value
49569
+ exists and is a string, returns that.
49570
+
49571
+ It is strongly recommended that packagers of GLib-using libraries
49572
+ for Windows do not store installation paths in the Registry to be
49573
+ used by this function as that interfers with having several
49574
+ parallel installations of the library. Enabling multiple
49575
+ installations of different versions of some GLib-using library, or
49576
+ GLib itself, is desirable for various reasons.
49577
+
49578
+ For this reason it is recommeded to always pass %NULL as
49579
+ @package to this function, to avoid the temptation to use the
49580
+ Registry. In version 2.20 of GLib the @package parameter
49581
+ will be ignored and this function won't look in the Registry at all.
49582
+
49583
+ If @package is %NULL, or the above value isn't found in the
49584
+ Registry, but @dll_name is non-%NULL, it should name a DLL loaded
49585
+ into the current process. Typically that would be the name of the
49586
+ DLL calling this function, looking for its installation
49587
+ directory. The function then asks Windows what directory that DLL
49588
+ was loaded from. If that directory's last component is "bin" or
49589
+ "lib", the parent directory is returned, otherwise the directory
49590
+ itself. If that DLL isn't loaded, the function proceeds as if
49591
+ @dll_name was %NULL.
49592
+
49593
+ If both @package and @dll_name are %NULL, the directory from where
49594
+ the main executable of the process was loaded is used instead in
49595
+ the same way as above.</doc>
49596
+ <doc-deprecated xml:space="preserve">Pass the HMODULE of a DLL or EXE to
49597
+ g_win32_get_package_installation_directory_of_module() instead.</doc-deprecated>
49598
+ <return-value transfer-ownership="full">
49599
+ <doc xml:space="preserve">a string containing the installation directory for
49600
+ @package. The string is in the GLib file name encoding,
49601
+ i.e. UTF-8. The return value should be freed with g_free() when not
49602
+ needed any longer. If the function fails %NULL is returned.</doc>
49603
+ <type name="utf8" c:type="gchar*"/>
49604
+ </return-value>
49605
+ <parameters>
49606
+ <parameter name="package"
49607
+ transfer-ownership="none"
49608
+ nullable="1"
49609
+ allow-none="1">
49610
+ <doc xml:space="preserve">You should pass %NULL for this.</doc>
49611
+ <type name="utf8" c:type="const gchar*"/>
49612
+ </parameter>
49613
+ <parameter name="dll_name"
49614
+ transfer-ownership="none"
49615
+ nullable="1"
49616
+ allow-none="1">
49617
+ <doc xml:space="preserve">The name of a DLL that a package provides in UTF-8, or %NULL.</doc>
49618
+ <type name="utf8" c:type="const gchar*"/>
49619
+ </parameter>
49620
+ </parameters>
49621
+ </function>
49469
49622
  <function name="win32_get_package_installation_directory_of_module"
49470
49623
  c:identifier="g_win32_get_package_installation_directory_of_module"
49471
49624
  version="2.16">
@@ -49510,33 +49663,49 @@ with g_free() when not needed any longer. If the function fails
49510
49663
  </parameter>
49511
49664
  </parameters>
49512
49665
  </function>
49513
- <function name="win32_get_package_installation_directory_utf8"
49514
- c:identifier="g_win32_get_package_installation_directory_utf8">
49515
- <return-value transfer-ownership="full">
49516
- <type name="utf8" c:type="gchar*"/>
49517
- </return-value>
49518
- <parameters>
49519
- <parameter name="package" transfer-ownership="none">
49520
- <type name="utf8" c:type="const gchar*"/>
49521
- </parameter>
49522
- <parameter name="dll_name" transfer-ownership="none">
49523
- <type name="utf8" c:type="const gchar*"/>
49524
- </parameter>
49525
- </parameters>
49526
- </function>
49527
- <function name="win32_get_package_installation_subdirectory_utf8"
49528
- c:identifier="g_win32_get_package_installation_subdirectory_utf8">
49666
+ <function name="win32_get_package_installation_subdirectory"
49667
+ c:identifier="g_win32_get_package_installation_subdirectory"
49668
+ deprecated="1"
49669
+ deprecated-version="2.18">
49670
+ <doc xml:space="preserve">This function is deprecated. Use
49671
+ g_win32_get_package_installation_directory_of_module() and
49672
+ g_build_filename() instead.
49673
+
49674
+ Returns a newly-allocated string containing the path of the
49675
+ subdirectory @subdir in the return value from calling
49676
+ g_win32_get_package_installation_directory() with the @package and
49677
+ @dll_name parameters. See the documentation for
49678
+ g_win32_get_package_installation_directory() for more details. In
49679
+ particular, note that it is deprecated to pass anything except NULL
49680
+ as @package.</doc>
49681
+ <doc-deprecated xml:space="preserve">Pass the HMODULE of a DLL or EXE to
49682
+ g_win32_get_package_installation_directory_of_module() instead, and
49683
+ then construct a subdirectory pathname with g_build_filename().</doc-deprecated>
49529
49684
  <return-value transfer-ownership="full">
49685
+ <doc xml:space="preserve">a string containing the complete path to @subdir inside
49686
+ the installation directory of @package. The returned string is in
49687
+ the GLib file name encoding, i.e. UTF-8. The return value should be
49688
+ freed with g_free() when no longer needed. If something goes wrong,
49689
+ %NULL is returned.</doc>
49530
49690
  <type name="utf8" c:type="gchar*"/>
49531
49691
  </return-value>
49532
49692
  <parameters>
49533
- <parameter name="package" transfer-ownership="none">
49693
+ <parameter name="package"
49694
+ transfer-ownership="none"
49695
+ nullable="1"
49696
+ allow-none="1">
49697
+ <doc xml:space="preserve">You should pass %NULL for this.</doc>
49534
49698
  <type name="utf8" c:type="const gchar*"/>
49535
49699
  </parameter>
49536
- <parameter name="dll_name" transfer-ownership="none">
49700
+ <parameter name="dll_name"
49701
+ transfer-ownership="none"
49702
+ nullable="1"
49703
+ allow-none="1">
49704
+ <doc xml:space="preserve">The name of a DLL that a package provides, in UTF-8, or %NULL.</doc>
49537
49705
  <type name="utf8" c:type="const gchar*"/>
49538
49706
  </parameter>
49539
49707
  <parameter name="subdir" transfer-ownership="none">
49708
+ <doc xml:space="preserve">A subdirectory of the package installation directory, also in UTF-8</doc>
49540
49709
  <type name="utf8" c:type="const gchar*"/>
49541
49710
  </parameter>
49542
49711
  </parameters>