gio2 0.90.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (856) hide show
  1. data/ChangeLog +60 -0
  2. data/README +34 -0
  3. data/Rakefile +76 -0
  4. data/ext/gio2/depend +5 -0
  5. data/ext/gio2/extconf.rb +91 -0
  6. data/ext/gio2/gappinfo.c +318 -0
  7. data/ext/gio2/gapplaunchcontext.c +79 -0
  8. data/ext/gio2/gasyncinitable.c +244 -0
  9. data/ext/gio2/gasyncresult.c +39 -0
  10. data/ext/gio2/gbufferedinputstream.c +184 -0
  11. data/ext/gio2/gbufferedoutputstream.c +82 -0
  12. data/ext/gio2/gcancellable.c +177 -0
  13. data/ext/gio2/gcharsetconverter.c +72 -0
  14. data/ext/gio2/gcontenttype.c +135 -0
  15. data/ext/gio2/gconverter.c +117 -0
  16. data/ext/gio2/gconverterinputstream.c +48 -0
  17. data/ext/gio2/gconverteroutputstream.c +48 -0
  18. data/ext/gio2/gdatainputstream.c +341 -0
  19. data/ext/gio2/gdataoutputstream.c +202 -0
  20. data/ext/gio2/gdesktopappinfo.c +90 -0
  21. data/ext/gio2/gdrive.c +267 -0
  22. data/ext/gio2/gemblem.c +71 -0
  23. data/ext/gio2/gemblemedicon.c +63 -0
  24. data/ext/gio2/gfile.c +2058 -0
  25. data/ext/gio2/gfileattribute.c +263 -0
  26. data/ext/gio2/gfileattributematcher.c +90 -0
  27. data/ext/gio2/gfiledescriptorbased.c +42 -0
  28. data/ext/gio2/gfileenumerator.c +167 -0
  29. data/ext/gio2/gfileicon.c +46 -0
  30. data/ext/gio2/gfileinfo.c +641 -0
  31. data/ext/gio2/gfileinputstream.c +92 -0
  32. data/ext/gio2/gfileiostream.c +98 -0
  33. data/ext/gio2/gfilemonitor.c +63 -0
  34. data/ext/gio2/gfilenamecompleter.c +72 -0
  35. data/ext/gio2/gfileoutputstream.c +100 -0
  36. data/ext/gio2/gfilterinputstream.c +56 -0
  37. data/ext/gio2/gfilteroutputstream.c +56 -0
  38. data/ext/gio2/gicon.c +69 -0
  39. data/ext/gio2/ginetaddress.c +188 -0
  40. data/ext/gio2/ginetsocketaddress.c +54 -0
  41. data/ext/gio2/ginitable.c +195 -0
  42. data/ext/gio2/ginputstream.c +341 -0
  43. data/ext/gio2/gio2.c +120 -0
  44. data/ext/gio2/gio2.def +2 -0
  45. data/ext/gio2/gio2.h +343 -0
  46. data/ext/gio2/gioerror.c +67 -0
  47. data/ext/gio2/giomodule.c +63 -0
  48. data/ext/gio2/gioscheduler.c +195 -0
  49. data/ext/gio2/giostream.c +129 -0
  50. data/ext/gio2/gloadableicon.c +91 -0
  51. data/ext/gio2/gmemoryinputstream.c +65 -0
  52. data/ext/gio2/gmemoryoutputstream.c +65 -0
  53. data/ext/gio2/gmount.c +283 -0
  54. data/ext/gio2/gmountoperation.c +168 -0
  55. data/ext/gio2/gnetworkaddress.c +71 -0
  56. data/ext/gio2/gnetworkservice.c +64 -0
  57. data/ext/gio2/goutputstream.c +343 -0
  58. data/ext/gio2/gresolver.c +230 -0
  59. data/ext/gio2/gseekable.c +89 -0
  60. data/ext/gio2/gsimpleasyncresult.c +153 -0
  61. data/ext/gio2/gsocket.c +451 -0
  62. data/ext/gio2/gsocketaddress.c +45 -0
  63. data/ext/gio2/gsocketclient.c +273 -0
  64. data/ext/gio2/gsocketconnectable.c +97 -0
  65. data/ext/gio2/gsocketconnection.c +82 -0
  66. data/ext/gio2/gsocketcontrolmessage.c +82 -0
  67. data/ext/gio2/gsocketlistener.c +239 -0
  68. data/ext/gio2/gsocketservice.c +64 -0
  69. data/ext/gio2/gsrvtarget.c +77 -0
  70. data/ext/gio2/gtcpconnection.c +48 -0
  71. data/ext/gio2/gthemedicon.c +86 -0
  72. data/ext/gio2/gthreadedsocketservice.c +39 -0
  73. data/ext/gio2/gunixconnection.c +69 -0
  74. data/ext/gio2/gunixfdlist.c +112 -0
  75. data/ext/gio2/gunixfdmessage.c +81 -0
  76. data/ext/gio2/gunixinputstream.c +73 -0
  77. data/ext/gio2/gunixmounts.c +346 -0
  78. data/ext/gio2/gunixoutputstream.c +73 -0
  79. data/ext/gio2/gunixsocketaddress.c +79 -0
  80. data/ext/gio2/gvfs.c +84 -0
  81. data/ext/gio2/gvolume.c +191 -0
  82. data/ext/gio2/gvolumemonitor.c +77 -0
  83. data/ext/gio2/gzlibcompressor.c +47 -0
  84. data/ext/gio2/gzlibdecompressor.c +43 -0
  85. data/ext/gio2/util.c +323 -0
  86. data/extconf.rb +49 -0
  87. data/lib/1.8/gio2.so +0 -0
  88. data/lib/1.9/gio2.so +0 -0
  89. data/lib/gio2.rb +141 -0
  90. data/vendor/local/bin/envsubst.exe +0 -0
  91. data/vendor/local/bin/gettext.exe +0 -0
  92. data/vendor/local/bin/gettext.sh +123 -0
  93. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  94. data/vendor/local/bin/glib-gettextize +188 -0
  95. data/vendor/local/bin/glib-mkenums +537 -0
  96. data/vendor/local/bin/gobject-query.exe +0 -0
  97. data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
  98. data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
  99. data/vendor/local/bin/intl.dll +0 -0
  100. data/vendor/local/bin/libasprintf-0.dll +0 -0
  101. data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
  102. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  103. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  104. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  105. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  106. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  107. data/vendor/local/bin/ngettext.exe +0 -0
  108. data/vendor/local/include/autosprintf.h +66 -0
  109. data/vendor/local/include/glib-2.0/gio/gappinfo.h +236 -0
  110. data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +119 -0
  111. data/vendor/local/include/glib-2.0/gio/gasyncresult.h +73 -0
  112. data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +123 -0
  113. data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +81 -0
  114. data/vendor/local/include/glib-2.0/gio/gcancellable.h +103 -0
  115. data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +60 -0
  116. data/vendor/local/include/glib-2.0/gio/gcontenttype.h +57 -0
  117. data/vendor/local/include/glib-2.0/gio/gconverter.h +95 -0
  118. data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +79 -0
  119. data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +79 -0
  120. data/vendor/local/include/glib-2.0/gio/gcredentials.h +76 -0
  121. data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +150 -0
  122. data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +115 -0
  123. data/vendor/local/include/glib-2.0/gio/gdbusaddress.h +58 -0
  124. data/vendor/local/include/glib-2.0/gio/gdbusauthobserver.h +46 -0
  125. data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +562 -0
  126. data/vendor/local/include/glib-2.0/gio/gdbuserror.h +100 -0
  127. data/vendor/local/include/glib-2.0/gio/gdbusintrospection.h +286 -0
  128. data/vendor/local/include/glib-2.0/gio/gdbusmessage.h +149 -0
  129. data/vendor/local/include/glib-2.0/gio/gdbusmethodinvocation.h +73 -0
  130. data/vendor/local/include/glib-2.0/gio/gdbusnameowning.h +112 -0
  131. data/vendor/local/include/glib-2.0/gio/gdbusnamewatching.h +94 -0
  132. data/vendor/local/include/glib-2.0/gio/gdbusproxy.h +167 -0
  133. data/vendor/local/include/glib-2.0/gio/gdbusserver.h +54 -0
  134. data/vendor/local/include/glib-2.0/gio/gdbusutils.h +44 -0
  135. data/vendor/local/include/glib-2.0/gio/gdrive.h +225 -0
  136. data/vendor/local/include/glib-2.0/gio/gemblem.h +58 -0
  137. data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +62 -0
  138. data/vendor/local/include/glib-2.0/gio/gfile.h +1017 -0
  139. data/vendor/local/include/glib-2.0/gio/gfileattribute.h +77 -0
  140. data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +132 -0
  141. data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
  142. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +952 -0
  143. data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +112 -0
  144. data/vendor/local/include/glib-2.0/gio/gfileiostream.h +118 -0
  145. data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +95 -0
  146. data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +76 -0
  147. data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +119 -0
  148. data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +76 -0
  149. data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +76 -0
  150. data/vendor/local/include/glib-2.0/gio/gicon.h +91 -0
  151. data/vendor/local/include/glib-2.0/gio/ginetaddress.h +103 -0
  152. data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +69 -0
  153. data/vendor/local/include/glib-2.0/gio/ginitable.h +96 -0
  154. data/vendor/local/include/glib-2.0/gio/ginputstream.h +172 -0
  155. data/vendor/local/include/glib-2.0/gio/gio.h +122 -0
  156. data/vendor/local/include/glib-2.0/gio/gioenums.h +1221 -0
  157. data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +121 -0
  158. data/vendor/local/include/glib-2.0/gio/gioerror.h +52 -0
  159. data/vendor/local/include/glib-2.0/gio/giomodule.h +132 -0
  160. data/vendor/local/include/glib-2.0/gio/gioscheduler.h +52 -0
  161. data/vendor/local/include/glib-2.0/gio/giostream.h +112 -0
  162. data/vendor/local/include/glib-2.0/gio/giotypes.h +375 -0
  163. data/vendor/local/include/glib-2.0/gio/gloadableicon.h +97 -0
  164. data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +82 -0
  165. data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +98 -0
  166. data/vendor/local/include/glib-2.0/gio/gmount.h +242 -0
  167. data/vendor/local/include/glib-2.0/gio/gmountoperation.h +123 -0
  168. data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +62 -0
  169. data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +73 -0
  170. data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +71 -0
  171. data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -0
  172. data/vendor/local/include/glib-2.0/gio/gpermission.h +118 -0
  173. data/vendor/local/include/glib-2.0/gio/gproxy.h +123 -0
  174. data/vendor/local/include/glib-2.0/gio/gproxyaddress.h +76 -0
  175. data/vendor/local/include/glib-2.0/gio/gproxyaddressenumerator.h +75 -0
  176. data/vendor/local/include/glib-2.0/gio/gproxyresolver.h +96 -0
  177. data/vendor/local/include/glib-2.0/gio/gresolver.h +167 -0
  178. data/vendor/local/include/glib-2.0/gio/gseekable.h +99 -0
  179. data/vendor/local/include/glib-2.0/gio/gsettings.h +258 -0
  180. data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +138 -0
  181. data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +125 -0
  182. data/vendor/local/include/glib-2.0/gio/gsimplepermission.h +45 -0
  183. data/vendor/local/include/glib-2.0/gio/gsocket.h +194 -0
  184. data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +79 -0
  185. data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +89 -0
  186. data/vendor/local/include/glib-2.0/gio/gsocketclient.h +152 -0
  187. data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +74 -0
  188. data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +91 -0
  189. data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +105 -0
  190. data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +138 -0
  191. data/vendor/local/include/glib-2.0/gio/gsocketservice.h +88 -0
  192. data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +52 -0
  193. data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +68 -0
  194. data/vendor/local/include/glib-2.0/gio/gthemedicon.h +63 -0
  195. data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +81 -0
  196. data/vendor/local/include/glib-2.0/gio/gvfs.h +125 -0
  197. data/vendor/local/include/glib-2.0/gio/gvolume.h +211 -0
  198. data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +150 -0
  199. data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +60 -0
  200. data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +57 -0
  201. data/vendor/local/include/glib-2.0/glib-object.h +42 -0
  202. data/vendor/local/include/glib-2.0/glib.h +99 -0
  203. data/vendor/local/include/glib-2.0/glib/galloca.h +110 -0
  204. data/vendor/local/include/glib-2.0/glib/garray.h +179 -0
  205. data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +120 -0
  206. data/vendor/local/include/glib-2.0/glib/gatomic.h +105 -0
  207. data/vendor/local/include/glib-2.0/glib/gbacktrace.h +68 -0
  208. data/vendor/local/include/glib-2.0/glib/gbase64.h +57 -0
  209. data/vendor/local/include/glib-2.0/glib/gbitlock.h +43 -0
  210. data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +215 -0
  211. data/vendor/local/include/glib-2.0/glib/gcache.h +69 -0
  212. data/vendor/local/include/glib-2.0/glib/gchecksum.h +86 -0
  213. data/vendor/local/include/glib-2.0/glib/gcompletion.h +81 -0
  214. data/vendor/local/include/glib-2.0/glib/gconvert.h +162 -0
  215. data/vendor/local/include/glib-2.0/glib/gdataset.h +122 -0
  216. data/vendor/local/include/glib-2.0/glib/gdate.h +263 -0
  217. data/vendor/local/include/glib-2.0/glib/gdatetime.h +217 -0
  218. data/vendor/local/include/glib-2.0/glib/gdir.h +52 -0
  219. data/vendor/local/include/glib-2.0/glib/gerror.h +98 -0
  220. data/vendor/local/include/glib-2.0/glib/gfileutils.h +128 -0
  221. data/vendor/local/include/glib-2.0/glib/ghash.h +166 -0
  222. data/vendor/local/include/glib-2.0/glib/ghook.h +181 -0
  223. data/vendor/local/include/glib-2.0/glib/ghostutils.h +40 -0
  224. data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +38 -0
  225. data/vendor/local/include/glib-2.0/glib/gi18n.h +34 -0
  226. data/vendor/local/include/glib-2.0/glib/giochannel.h +366 -0
  227. data/vendor/local/include/glib-2.0/glib/gkeyfile.h +266 -0
  228. data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
  229. data/vendor/local/include/glib-2.0/glib/gmacros.h +284 -0
  230. data/vendor/local/include/glib-2.0/glib/gmain.h +531 -0
  231. data/vendor/local/include/glib-2.0/glib/gmappedfile.h +49 -0
  232. data/vendor/local/include/glib-2.0/glib/gmarkup.h +163 -0
  233. data/vendor/local/include/glib-2.0/glib/gmem.h +309 -0
  234. data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
  235. data/vendor/local/include/glib-2.0/glib/gnode.h +290 -0
  236. data/vendor/local/include/glib-2.0/glib/goption.h +370 -0
  237. data/vendor/local/include/glib-2.0/glib/gpattern.h +49 -0
  238. data/vendor/local/include/glib-2.0/glib/gpoll.h +117 -0
  239. data/vendor/local/include/glib-2.0/glib/gprimes.h +51 -0
  240. data/vendor/local/include/glib-2.0/glib/gprintf.h +52 -0
  241. data/vendor/local/include/glib-2.0/glib/gqsort.h +46 -0
  242. data/vendor/local/include/glib-2.0/glib/gquark.h +52 -0
  243. data/vendor/local/include/glib-2.0/glib/gqueue.h +127 -0
  244. data/vendor/local/include/glib-2.0/glib/grand.h +85 -0
  245. data/vendor/local/include/glib-2.0/glib/gregex.h +471 -0
  246. data/vendor/local/include/glib-2.0/glib/grel.h +101 -0
  247. data/vendor/local/include/glib-2.0/glib/gscanner.h +278 -0
  248. data/vendor/local/include/glib-2.0/glib/gsequence.h +128 -0
  249. data/vendor/local/include/glib-2.0/glib/gshell.h +55 -0
  250. data/vendor/local/include/glib-2.0/glib/gslice.h +86 -0
  251. data/vendor/local/include/glib-2.0/glib/gslist.h +114 -0
  252. data/vendor/local/include/glib-2.0/glib/gspawn.h +139 -0
  253. data/vendor/local/include/glib-2.0/glib/gstdio.h +147 -0
  254. data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +269 -0
  255. data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
  256. data/vendor/local/include/glib-2.0/glib/gtestutils.h +297 -0
  257. data/vendor/local/include/glib-2.0/glib/gthread.h +407 -0
  258. data/vendor/local/include/glib-2.0/glib/gthreadpool.h +114 -0
  259. data/vendor/local/include/glib-2.0/glib/gtimer.h +65 -0
  260. data/vendor/local/include/glib-2.0/glib/gtimezone.h +44 -0
  261. data/vendor/local/include/glib-2.0/glib/gtree.h +91 -0
  262. data/vendor/local/include/glib-2.0/glib/gtypes.h +451 -0
  263. data/vendor/local/include/glib-2.0/glib/gunicode.h +421 -0
  264. data/vendor/local/include/glib-2.0/glib/gurifuncs.h +81 -0
  265. data/vendor/local/include/glib-2.0/glib/gutils.h +490 -0
  266. data/vendor/local/include/glib-2.0/glib/gvariant.h +248 -0
  267. data/vendor/local/include/glib-2.0/glib/gvarianttype.h +334 -0
  268. data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
  269. data/vendor/local/include/glib-2.0/gmodule.h +101 -0
  270. data/vendor/local/include/glib-2.0/gobject/gbinding.h +136 -0
  271. data/vendor/local/include/glib-2.0/gobject/gboxed.h +248 -0
  272. data/vendor/local/include/glib-2.0/gobject/gclosure.h +251 -0
  273. data/vendor/local/include/glib-2.0/gobject/genums.h +261 -0
  274. data/vendor/local/include/glib-2.0/gobject/gmarshal.h +186 -0
  275. data/vendor/local/include/glib-2.0/gobject/gobject.h +567 -0
  276. data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +193 -0
  277. data/vendor/local/include/glib-2.0/gobject/gparam.h +415 -0
  278. data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1137 -0
  279. data/vendor/local/include/glib-2.0/gobject/gsignal.h +509 -0
  280. data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +51 -0
  281. data/vendor/local/include/glib-2.0/gobject/gtype.h +1736 -0
  282. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +263 -0
  283. data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +134 -0
  284. data/vendor/local/include/glib-2.0/gobject/gvalue.h +159 -0
  285. data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +77 -0
  286. data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +227 -0
  287. data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +260 -0
  288. data/vendor/local/include/libintl.h +464 -0
  289. data/vendor/local/lib/GNU.Gettext.dll +0 -0
  290. data/vendor/local/lib/gio-2.0.def +1143 -0
  291. data/vendor/local/lib/gio-2.0.lib +0 -0
  292. data/vendor/local/lib/glib-2.0.def +1452 -0
  293. data/vendor/local/lib/glib-2.0.lib +0 -0
  294. data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
  295. data/vendor/local/lib/gmodule-2.0.def +11 -0
  296. data/vendor/local/lib/gmodule-2.0.lib +0 -0
  297. data/vendor/local/lib/gobject-2.0.def +370 -0
  298. data/vendor/local/lib/gobject-2.0.lib +0 -0
  299. data/vendor/local/lib/gthread-2.0.def +3 -0
  300. data/vendor/local/lib/gthread-2.0.lib +0 -0
  301. data/vendor/local/lib/intl.lib +0 -0
  302. data/vendor/local/lib/libasprintf.dll.a +0 -0
  303. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  304. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  305. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  306. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  307. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  308. data/vendor/local/lib/libintl.def +31 -0
  309. data/vendor/local/lib/libintl.dll.a +0 -0
  310. data/vendor/local/lib/pkgconfig/gio-2.0.pc +15 -0
  311. data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +11 -0
  312. data/vendor/local/lib/pkgconfig/glib-2.0.pc +15 -0
  313. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +14 -0
  314. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +14 -0
  315. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +11 -0
  316. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +11 -0
  317. data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +81 -0
  318. data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +3 -0
  319. data/vendor/local/manifest/glib-dev_2.24.2-2_win32.mft +491 -0
  320. data/vendor/local/manifest/glib-dev_2.26.0-2_win32.mft +570 -0
  321. data/vendor/local/manifest/glib_2.24.2-2_win32.mft +101 -0
  322. data/vendor/local/manifest/glib_2.26.0-2_win32.mft +102 -0
  323. data/vendor/local/share/aclocal/glib-2.0.m4 +211 -0
  324. data/vendor/local/share/aclocal/glib-gettext.m4 +432 -0
  325. data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +165 -0
  326. data/vendor/local/share/doc/gettext/bindtextdomain.3.html +160 -0
  327. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +8 -0
  328. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +305 -0
  329. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +356 -0
  330. data/vendor/local/share/doc/gettext/csharpdoc/begin.html +11 -0
  331. data/vendor/local/share/doc/gettext/csharpdoc/index.html +10 -0
  332. data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +6 -0
  333. data/vendor/local/share/doc/gettext/envsubst.1.html +213 -0
  334. data/vendor/local/share/doc/gettext/gettext.1.html +266 -0
  335. data/vendor/local/share/doc/gettext/gettext.3.html +186 -0
  336. data/vendor/local/share/doc/gettext/ngettext.1.html +280 -0
  337. data/vendor/local/share/doc/gettext/ngettext.3.html +143 -0
  338. data/vendor/local/share/doc/gettext/textdomain.3.html +150 -0
  339. data/vendor/local/share/doc/glib-2.24.2/COPYING +482 -0
  340. data/vendor/local/share/doc/glib-2.26.0/COPYING +482 -0
  341. data/vendor/local/share/doc/glib-dev-2.24.2/COPYING +482 -0
  342. data/vendor/local/share/doc/glib-dev-2.26.0/COPYING +482 -0
  343. data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
  344. data/vendor/local/share/glib-2.0/gdb/glib.py +249 -0
  345. data/vendor/local/share/glib-2.0/gdb/gobject.py +305 -0
  346. data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +111 -0
  347. data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +279 -0
  348. data/vendor/local/share/glib-2.0/schemas/gschema.dtd +60 -0
  349. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1403 -0
  350. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +733 -0
  351. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
  352. data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +563 -0
  353. data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +291 -0
  354. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +620 -0
  355. data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +245 -0
  356. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +423 -0
  357. data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +398 -0
  358. data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +254 -0
  359. data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +6211 -0
  360. data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +1833 -0
  361. data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +618 -0
  362. data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +2050 -0
  363. data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +1124 -0
  364. data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +1215 -0
  365. data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +540 -0
  366. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +1416 -0
  367. data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +272 -0
  368. data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +206 -0
  369. data/vendor/local/share/gtk-doc/html/gio/GFile.html +7462 -0
  370. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +120 -0
  371. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +516 -0
  372. data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +312 -0
  373. data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +155 -0
  374. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3144 -0
  375. data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +262 -0
  376. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +353 -0
  377. data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +301 -0
  378. data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +217 -0
  379. data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +188 -0
  380. data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +189 -0
  381. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +261 -0
  382. data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +479 -0
  383. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +331 -0
  384. data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +717 -0
  385. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +196 -0
  386. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +388 -0
  387. data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +808 -0
  388. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +301 -0
  389. data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +185 -0
  390. data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +393 -0
  391. data/vendor/local/share/gtk-doc/html/gio/GMount.html +1465 -0
  392. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +848 -0
  393. data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +343 -0
  394. data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +311 -0
  395. data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1012 -0
  396. data/vendor/local/share/gtk-doc/html/gio/GPermission.html +560 -0
  397. data/vendor/local/share/gtk-doc/html/gio/GProxy.html +312 -0
  398. data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +348 -0
  399. data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +301 -0
  400. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +787 -0
  401. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +350 -0
  402. data/vendor/local/share/gtk-doc/html/gio/GSettings.html +2424 -0
  403. data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +609 -0
  404. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +1193 -0
  405. data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +107 -0
  406. data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2438 -0
  407. data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
  408. data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +1292 -0
  409. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +513 -0
  410. data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +337 -0
  411. data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +275 -0
  412. data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +745 -0
  413. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -0
  414. data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +165 -0
  415. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +377 -0
  416. data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +197 -0
  417. data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +298 -0
  418. data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +222 -0
  419. data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +389 -0
  420. data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +288 -0
  421. data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +237 -0
  422. data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +237 -0
  423. data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +491 -0
  424. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +274 -0
  425. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1028 -0
  426. data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +705 -0
  427. data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +252 -0
  428. data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +170 -0
  429. data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +65 -0
  430. data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +153 -0
  431. data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +155 -0
  432. data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1084 -0
  433. data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +223 -0
  434. data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +1598 -0
  435. data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +112 -0
  436. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +6250 -0
  437. data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
  438. data/vendor/local/share/gtk-doc/html/gio/ch01.html +207 -0
  439. data/vendor/local/share/gtk-doc/html/gio/ch02.html +50 -0
  440. data/vendor/local/share/gtk-doc/html/gio/ch03.html +180 -0
  441. data/vendor/local/share/gtk-doc/html/gio/ch19.html +75 -0
  442. data/vendor/local/share/gtk-doc/html/gio/ch20.html +217 -0
  443. data/vendor/local/share/gtk-doc/html/gio/ch20s02.html +41 -0
  444. data/vendor/local/share/gtk-doc/html/gio/ch20s03.html +39 -0
  445. data/vendor/local/share/gtk-doc/html/gio/ch24.html +75 -0
  446. data/vendor/local/share/gtk-doc/html/gio/ch25.html +217 -0
  447. data/vendor/local/share/gtk-doc/html/gio/ch25s02.html +41 -0
  448. data/vendor/local/share/gtk-doc/html/gio/ch25s03.html +39 -0
  449. data/vendor/local/share/gtk-doc/html/gio/ch26.html +57 -0
  450. data/vendor/local/share/gtk-doc/html/gio/ch26s02.html +59 -0
  451. data/vendor/local/share/gtk-doc/html/gio/ch26s03.html +159 -0
  452. data/vendor/local/share/gtk-doc/html/gio/ch26s04.html +46 -0
  453. data/vendor/local/share/gtk-doc/html/gio/ch26s05.html +48 -0
  454. data/vendor/local/share/gtk-doc/html/gio/ch26s06.html +277 -0
  455. data/vendor/local/share/gtk-doc/html/gio/ch26s07.html +95 -0
  456. data/vendor/local/share/gtk-doc/html/gio/ch27.html +70 -0
  457. data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +130 -0
  458. data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +202 -0
  459. data/vendor/local/share/gtk-doc/html/gio/ch27s04.html +96 -0
  460. data/vendor/local/share/gtk-doc/html/gio/ch27s05.html +823 -0
  461. data/vendor/local/share/gtk-doc/html/gio/ch27s06.html +828 -0
  462. data/vendor/local/share/gtk-doc/html/gio/conversion.html +44 -0
  463. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +109 -0
  464. data/vendor/local/share/gtk-doc/html/gio/extending.html +41 -0
  465. data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +38 -0
  466. data/vendor/local/share/gtk-doc/html/gio/file_mon.html +33 -0
  467. data/vendor/local/share/gtk-doc/html/gio/file_ops.html +50 -0
  468. data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +41 -0
  469. data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +59 -0
  470. data/vendor/local/share/gtk-doc/html/gio/gdbus.html +243 -0
  471. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +316 -0
  472. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +1117 -0
  473. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +216 -0
  474. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +339 -0
  475. data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +473 -0
  476. data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +391 -0
  477. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +159 -0
  478. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +159 -0
  479. data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +908 -0
  480. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +933 -0
  481. data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +409 -0
  482. data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +297 -0
  483. data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +313 -0
  484. data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +736 -0
  485. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +909 -0
  486. data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +666 -0
  487. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +123 -0
  488. data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +53 -0
  489. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1736 -0
  490. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +2006 -0
  491. data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +102 -0
  492. data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
  493. data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +53 -0
  494. data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
  495. data/vendor/local/share/gtk-doc/html/gio/icons.html +50 -0
  496. data/vendor/local/share/gtk-doc/html/gio/index.html +435 -0
  497. data/vendor/local/share/gtk-doc/html/gio/index.sgml +2513 -0
  498. data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
  499. data/vendor/local/share/gtk-doc/html/gio/migrating.html +62 -0
  500. data/vendor/local/share/gtk-doc/html/gio/networking.html +69 -0
  501. data/vendor/local/share/gtk-doc/html/gio/permissions.html +39 -0
  502. data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
  503. data/vendor/local/share/gtk-doc/html/gio/pt02.html +390 -0
  504. data/vendor/local/share/gtk-doc/html/gio/resolver.html +50 -0
  505. data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
  506. data/vendor/local/share/gtk-doc/html/gio/settings.html +38 -0
  507. data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
  508. data/vendor/local/share/gtk-doc/html/gio/style.css +265 -0
  509. data/vendor/local/share/gtk-doc/html/gio/tools.html +44 -0
  510. data/vendor/local/share/gtk-doc/html/gio/types.html +41 -0
  511. data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
  512. data/vendor/local/share/gtk-doc/html/gio/utils.html +33 -0
  513. data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +47 -0
  514. data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +77 -0
  515. data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +180 -0
  516. data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +312 -0
  517. data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +559 -0
  518. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +362 -0
  519. data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +102 -0
  520. data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +124 -0
  521. data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +83 -0
  522. data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +194 -0
  523. data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +420 -0
  524. data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +359 -0
  525. data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +396 -0
  526. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +417 -0
  527. data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +158 -0
  528. data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +419 -0
  529. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +8214 -0
  530. data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
  531. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +893 -0
  532. data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +818 -0
  533. data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +414 -0
  534. data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +466 -0
  535. data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +802 -0
  536. data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +372 -0
  537. data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +500 -0
  538. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2056 -0
  539. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +560 -0
  540. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1686 -0
  541. data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +398 -0
  542. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +1094 -0
  543. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1671 -0
  544. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +460 -0
  545. data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +528 -0
  546. data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +2045 -0
  547. data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +1278 -0
  548. data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +1406 -0
  549. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +548 -0
  550. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +1026 -0
  551. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1852 -0
  552. data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +2201 -0
  553. data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +239 -0
  554. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +4278 -0
  555. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1864 -0
  556. data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +295 -0
  557. data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +1512 -0
  558. data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1367 -0
  559. data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +229 -0
  560. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +692 -0
  561. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2196 -0
  562. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2740 -0
  563. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +612 -0
  564. data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +1451 -0
  565. data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +389 -0
  566. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +1033 -0
  567. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +141 -0
  568. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +706 -0
  569. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +510 -0
  570. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +748 -0
  571. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1105 -0
  572. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1552 -0
  573. data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1468 -0
  574. data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +194 -0
  575. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2745 -0
  576. data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +752 -0
  577. data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +269 -0
  578. data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +578 -0
  579. data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +532 -0
  580. data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1353 -0
  581. data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +238 -0
  582. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1282 -0
  583. data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1213 -0
  584. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +924 -0
  585. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +470 -0
  586. data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +301 -0
  587. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2960 -0
  588. data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1291 -0
  589. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1805 -0
  590. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3478 -0
  591. data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +606 -0
  592. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +3411 -0
  593. data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +245 -0
  594. data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +188 -0
  595. data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +263 -0
  596. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +400 -0
  597. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3448 -0
  598. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +253 -0
  599. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +438 -0
  600. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +476 -0
  601. data/vendor/local/share/gtk-doc/html/glib/glib-building.html +466 -0
  602. data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +159 -0
  603. data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +118 -0
  604. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +64 -0
  605. data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +160 -0
  606. data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +120 -0
  607. data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +59 -0
  608. data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +93 -0
  609. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +2217 -0
  610. data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +121 -0
  611. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +319 -0
  612. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +118 -0
  613. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2183 -0
  614. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2671 -0
  615. data/vendor/local/share/gtk-doc/html/glib/glib.html +80 -0
  616. data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +72 -0
  617. data/vendor/local/share/gtk-doc/html/glib/gtester.html +131 -0
  618. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1288 -0
  619. data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
  620. data/vendor/local/share/gtk-doc/html/glib/index.html +344 -0
  621. data/vendor/local/share/gtk-doc/html/glib/index.sgml +2846 -0
  622. data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
  623. data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
  624. data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
  625. data/vendor/local/share/gtk-doc/html/glib/style.css +265 -0
  626. data/vendor/local/share/gtk-doc/html/glib/tools.html +41 -0
  627. data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
  628. data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +803 -0
  629. data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +710 -0
  630. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -0
  631. data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +47 -0
  632. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +85 -0
  633. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +55 -0
  634. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +51 -0
  635. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +46 -0
  636. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +38 -0
  637. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +46 -0
  638. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +73 -0
  639. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +201 -0
  640. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +178 -0
  641. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +42 -0
  642. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +42 -0
  643. data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +50 -0
  644. data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2721 -0
  645. data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +136 -0
  646. data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +113 -0
  647. data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +293 -0
  648. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +263 -0
  649. data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +92 -0
  650. data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +214 -0
  651. data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +361 -0
  652. data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +307 -0
  653. data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
  654. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +417 -0
  655. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2412 -0
  656. data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +847 -0
  657. data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +1433 -0
  658. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +776 -0
  659. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2741 -0
  660. data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +5555 -0
  661. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2875 -0
  662. data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4460 -0
  663. data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +416 -0
  664. data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +260 -0
  665. data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +234 -0
  666. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +270 -0
  667. data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +117 -0
  668. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +762 -0
  669. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +801 -0
  670. data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +143 -0
  671. data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +287 -0
  672. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +316 -0
  673. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +76 -0
  674. data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
  675. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +100 -0
  676. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +86 -0
  677. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +113 -0
  678. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +122 -0
  679. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +257 -0
  680. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +283 -0
  681. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +125 -0
  682. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +167 -0
  683. data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +160 -0
  684. data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +121 -0
  685. data/vendor/local/share/gtk-doc/html/gobject/index.html +192 -0
  686. data/vendor/local/share/gtk-doc/html/gobject/index.sgml +786 -0
  687. data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
  688. data/vendor/local/share/gtk-doc/html/gobject/pr01.html +72 -0
  689. data/vendor/local/share/gtk-doc/html/gobject/pt01.html +80 -0
  690. data/vendor/local/share/gtk-doc/html/gobject/pt02.html +66 -0
  691. data/vendor/local/share/gtk-doc/html/gobject/pt03.html +55 -0
  692. data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
  693. data/vendor/local/share/gtk-doc/html/gobject/rn01.html +85 -0
  694. data/vendor/local/share/gtk-doc/html/gobject/rn02.html +47 -0
  695. data/vendor/local/share/gtk-doc/html/gobject/signal.html +377 -0
  696. data/vendor/local/share/gtk-doc/html/gobject/style.css +265 -0
  697. data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +35 -0
  698. data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +40 -0
  699. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +63 -0
  700. data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +55 -0
  701. data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +43 -0
  702. data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
  703. data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
  704. data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
  705. data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
  706. data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
  707. data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
  708. data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
  709. data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
  710. data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
  711. data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
  712. data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
  713. data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
  714. data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
  715. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
  716. data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
  717. data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
  718. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  719. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
  720. data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
  721. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  722. data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
  723. data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
  724. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  725. data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
  726. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  727. data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
  728. data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
  729. data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
  730. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
  731. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
  732. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
  733. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
  734. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
  735. data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
  736. data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
  737. data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
  738. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  739. data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
  740. data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
  741. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  742. data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
  743. data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
  744. data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
  745. data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
  746. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  747. data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
  748. data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
  749. data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
  750. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  751. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  752. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  753. data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
  754. data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
  755. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  756. data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
  757. data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
  758. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  759. data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
  760. data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
  761. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  762. data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
  763. data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
  764. data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
  765. data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
  766. data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
  767. data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
  768. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  769. data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
  770. data/vendor/local/share/locale/locale.alias +77 -0
  771. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  772. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  773. data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
  774. data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
  775. data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
  776. data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
  777. data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
  778. data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
  779. data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
  780. data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
  781. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  782. data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
  783. data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
  784. data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
  785. data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
  786. data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
  787. data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
  788. data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
  789. data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
  790. data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
  791. data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
  792. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  793. data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
  794. data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
  795. data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
  796. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
  797. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  798. data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
  799. data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
  800. data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
  801. data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
  802. data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
  803. data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
  804. data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
  805. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  806. data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
  807. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  808. data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
  809. data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
  810. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  811. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
  812. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  813. data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
  814. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  815. data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
  816. data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
  817. data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
  818. data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
  819. data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
  820. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  821. data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
  822. data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
  823. data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
  824. data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
  825. data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
  826. data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
  827. data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
  828. data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
  829. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
  830. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
  831. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
  832. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
  833. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
  834. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  835. data/vendor/local/share/man/man1/envsubst.1 +54 -0
  836. data/vendor/local/share/man/man1/gettext.1 +69 -0
  837. data/vendor/local/share/man/man1/glib-genmarshal.1 +312 -0
  838. data/vendor/local/share/man/man1/glib-mkenums.1 +246 -0
  839. data/vendor/local/share/man/man1/gobject-query.1 +83 -0
  840. data/vendor/local/share/man/man1/ngettext.1 +68 -0
  841. data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +72 -0
  842. data/vendor/local/share/man/man3/bindtextdomain.3 +69 -0
  843. data/vendor/local/share/man/man3/dcgettext.3 +1 -0
  844. data/vendor/local/share/man/man3/dcngettext.3 +1 -0
  845. data/vendor/local/share/man/man3/dgettext.3 +1 -0
  846. data/vendor/local/share/man/man3/dngettext.3 +1 -0
  847. data/vendor/local/share/man/man3/gettext.3 +99 -0
  848. data/vendor/local/share/man/man3/ngettext.3 +60 -0
  849. data/vendor/local/share/man/man3/textdomain.3 +57 -0
  850. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +10423 -0
  851. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +457 -0
  852. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.log +2602 -0
  853. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.sh +290 -0
  854. data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.log +2867 -0
  855. data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.sh +64 -0
  856. metadata +952 -0
@@ -0,0 +1,301 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>String Chunks</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
+ <link rel="home" href="index.html" title="GLib Reference Manual">
8
+ <link rel="up" href="glib-data-types.html" title="GLib Data Types">
9
+ <link rel="prev" href="glib-Strings.html" title="Strings">
10
+ <link rel="next" href="glib-Arrays.html" title="Arrays">
11
+ <meta name="generator" content="GTK-Doc V1.15.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16
+ <tr valign="middle">
17
+ <td><a accesskey="p" href="glib-Strings.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
+ <td><a accesskey="u" href="glib-data-types.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
+ <th width="100%" align="center">GLib Reference Manual</th>
21
+ <td><a accesskey="n" href="glib-Arrays.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
+ </tr>
23
+ <tr><td colspan="5" class="shortcuts">
24
+ <a href="#glib-String-Chunks.synopsis" class="shortcut">Top</a>
25
+  | 
26
+ <a href="#glib-String-Chunks.description" class="shortcut">Description</a>
27
+ </td></tr>
28
+ </table>
29
+ <div class="refentry">
30
+ <a name="glib-String-Chunks"></a><div class="titlepage"></div>
31
+ <div class="refnamediv"><table width="100%"><tr>
32
+ <td valign="top">
33
+ <h2><span class="refentrytitle"><a name="glib-String-Chunks.top_of_page"></a>String Chunks</span></h2>
34
+ <p>String Chunks — efficient storage of groups of strings</p>
35
+ </td>
36
+ <td valign="top" align="right"></td>
37
+ </tr></table></div>
38
+ <div class="refsynopsisdiv">
39
+ <a name="glib-String-Chunks.synopsis"></a><h2>Synopsis</h2>
40
+ <pre class="synopsis">
41
+ #include &lt;glib.h&gt;
42
+
43
+ <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk">GStringChunk</a>;
44
+ <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="returnvalue">GStringChunk</span></a> * <a class="link" href="glib-String-Chunks.html#g-string-chunk-new" title="g_string_chunk_new ()">g_string_chunk_new</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> size</code></em>);
45
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert" title="g_string_chunk_insert ()">g_string_chunk_insert</a> (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>,
46
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
47
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert-const" title="g_string_chunk_insert_const ()">g_string_chunk_insert_const</a> (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>,
48
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
49
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert-len" title="g_string_chunk_insert_len ()">g_string_chunk_insert_len</a> (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>,
50
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
51
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> len</code></em>);
52
+ <span class="returnvalue">void</span> <a class="link" href="glib-String-Chunks.html#g-string-chunk-clear" title="g_string_chunk_clear ()">g_string_chunk_clear</a> (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>);
53
+ <span class="returnvalue">void</span> <a class="link" href="glib-String-Chunks.html#g-string-chunk-free" title="g_string_chunk_free ()">g_string_chunk_free</a> (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>);
54
+ </pre>
55
+ </div>
56
+ <div class="refsect1">
57
+ <a name="glib-String-Chunks.description"></a><h2>Description</h2>
58
+ <p>
59
+ String chunks are used to store groups of strings. Memory is
60
+ allocated in blocks, and as strings are added to the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
61
+ they are copied into the next free position in a block. When a block
62
+ is full a new block is allocated.
63
+ </p>
64
+ <p>
65
+ When storing a large number of strings, string chunks are more
66
+ efficient than using <a class="link" href="glib-String-Utility-Functions.html#g-strdup" title="g_strdup ()"><code class="function">g_strdup()</code></a> since fewer calls to <code class="function">malloc()</code> are
67
+ needed, and less memory is wasted in memory allocation overheads.
68
+ </p>
69
+ <p>
70
+ By adding strings with <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert-const" title="g_string_chunk_insert_const ()"><code class="function">g_string_chunk_insert_const()</code></a> it is also
71
+ possible to remove duplicates.
72
+ </p>
73
+ <p>
74
+ To create a new <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> use <a class="link" href="glib-String-Chunks.html#g-string-chunk-new" title="g_string_chunk_new ()"><code class="function">g_string_chunk_new()</code></a>.
75
+ </p>
76
+ <p>
77
+ To add strings to a <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> use <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert" title="g_string_chunk_insert ()"><code class="function">g_string_chunk_insert()</code></a>.
78
+ </p>
79
+ <p>
80
+ To add strings to a <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>, but without duplicating strings
81
+ which are already in the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>, use
82
+ <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert-const" title="g_string_chunk_insert_const ()"><code class="function">g_string_chunk_insert_const()</code></a>.
83
+ </p>
84
+ <p>
85
+ To free the entire <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> use <a class="link" href="glib-String-Chunks.html#g-string-chunk-free" title="g_string_chunk_free ()"><code class="function">g_string_chunk_free()</code></a>. It is
86
+ not possible to free individual strings.
87
+ </p>
88
+ </div>
89
+ <div class="refsect1">
90
+ <a name="glib-String-Chunks.details"></a><h2>Details</h2>
91
+ <div class="refsect2">
92
+ <a name="GStringChunk"></a><h3>GStringChunk</h3>
93
+ <pre class="programlisting">typedef struct _GStringChunk GStringChunk;</pre>
94
+ <p>
95
+ An opaque data structure representing String Chunks. It should only
96
+ be accessed by using the following functions.
97
+ </p>
98
+ </div>
99
+ <hr>
100
+ <div class="refsect2">
101
+ <a name="g-string-chunk-new"></a><h3>g_string_chunk_new ()</h3>
102
+ <pre class="programlisting"><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="returnvalue">GStringChunk</span></a> * g_string_chunk_new (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
103
+ <p>
104
+ Creates a new <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>.
105
+ </p>
106
+ <div class="variablelist"><table border="0">
107
+ <col align="left" valign="top">
108
+ <tbody>
109
+ <tr>
110
+ <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
111
+ <td>the default size of the blocks of memory which are
112
+ allocated to store the strings. If a particular string
113
+ is larger than this default size, a larger block of
114
+ memory will be allocated for it.
115
+ </td>
116
+ </tr>
117
+ <tr>
118
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
119
+ <td> a new <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
120
+ </td>
121
+ </tr>
122
+ </tbody>
123
+ </table></div>
124
+ </div>
125
+ <hr>
126
+ <div class="refsect2">
127
+ <a name="g-string-chunk-insert"></a><h3>g_string_chunk_insert ()</h3>
128
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_string_chunk_insert (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>,
129
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
130
+ <p>
131
+ Adds a copy of <em class="parameter"><code>string</code></em> to the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>.
132
+ It returns a pointer to the new copy of the string
133
+ in the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>. The characters in the string
134
+ can be changed, if necessary, though you should not
135
+ change anything after the end of the string.
136
+ </p>
137
+ <p>
138
+ Unlike <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert-const" title="g_string_chunk_insert_const ()"><code class="function">g_string_chunk_insert_const()</code></a>, this function
139
+ does not check for duplicates. Also strings added
140
+ with <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert" title="g_string_chunk_insert ()"><code class="function">g_string_chunk_insert()</code></a> will not be searched
141
+ by <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert-const" title="g_string_chunk_insert_const ()"><code class="function">g_string_chunk_insert_const()</code></a> when looking for
142
+ duplicates.
143
+ </p>
144
+ <div class="variablelist"><table border="0">
145
+ <col align="left" valign="top">
146
+ <tbody>
147
+ <tr>
148
+ <td><p><span class="term"><em class="parameter"><code>chunk</code></em> :</span></p></td>
149
+ <td>a <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
150
+ </td>
151
+ </tr>
152
+ <tr>
153
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
154
+ <td>the string to add
155
+ </td>
156
+ </tr>
157
+ <tr>
158
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
159
+ <td> a pointer to the copy of <em class="parameter"><code>string</code></em> within
160
+ the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
161
+ </td>
162
+ </tr>
163
+ </tbody>
164
+ </table></div>
165
+ </div>
166
+ <hr>
167
+ <div class="refsect2">
168
+ <a name="g-string-chunk-insert-const"></a><h3>g_string_chunk_insert_const ()</h3>
169
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_string_chunk_insert_const (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>,
170
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
171
+ <p>
172
+ Adds a copy of <em class="parameter"><code>string</code></em> to the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>, unless the same
173
+ string has already been added to the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> with
174
+ <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert-const" title="g_string_chunk_insert_const ()"><code class="function">g_string_chunk_insert_const()</code></a>.
175
+ </p>
176
+ <p>
177
+ This function is useful if you need to copy a large number
178
+ of strings but do not want to waste space storing duplicates.
179
+ But you must remember that there may be several pointers to
180
+ the same string, and so any changes made to the strings
181
+ should be done very carefully.
182
+ </p>
183
+ <p>
184
+ Note that <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert-const" title="g_string_chunk_insert_const ()"><code class="function">g_string_chunk_insert_const()</code></a> will not return a
185
+ pointer to a string added with <a class="link" href="glib-String-Chunks.html#g-string-chunk-insert" title="g_string_chunk_insert ()"><code class="function">g_string_chunk_insert()</code></a>, even
186
+ if they do match.
187
+ </p>
188
+ <div class="variablelist"><table border="0">
189
+ <col align="left" valign="top">
190
+ <tbody>
191
+ <tr>
192
+ <td><p><span class="term"><em class="parameter"><code>chunk</code></em> :</span></p></td>
193
+ <td>a <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
194
+ </td>
195
+ </tr>
196
+ <tr>
197
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
198
+ <td>the string to add
199
+ </td>
200
+ </tr>
201
+ <tr>
202
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
203
+ <td> a pointer to the new or existing copy of <em class="parameter"><code>string</code></em>
204
+ within the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
205
+ </td>
206
+ </tr>
207
+ </tbody>
208
+ </table></div>
209
+ </div>
210
+ <hr>
211
+ <div class="refsect2">
212
+ <a name="g-string-chunk-insert-len"></a><h3>g_string_chunk_insert_len ()</h3>
213
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_string_chunk_insert_len (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>,
214
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
215
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> len</code></em>);</pre>
216
+ <p>
217
+ Adds a copy of the first <em class="parameter"><code>len</code></em> bytes of <em class="parameter"><code>string</code></em> to the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>.
218
+ The copy is nul-terminated.
219
+ </p>
220
+ <p>
221
+ Since this function does not stop at nul bytes, it is the caller's
222
+ responsibility to ensure that <em class="parameter"><code>string</code></em> has at least <em class="parameter"><code>len</code></em> addressable
223
+ bytes.
224
+ </p>
225
+ <p>
226
+ The characters in the returned string can be changed, if necessary,
227
+ though you should not change anything after the end of the string.
228
+ </p>
229
+ <div class="variablelist"><table border="0">
230
+ <col align="left" valign="top">
231
+ <tbody>
232
+ <tr>
233
+ <td><p><span class="term"><em class="parameter"><code>chunk</code></em> :</span></p></td>
234
+ <td>a <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
235
+ </td>
236
+ </tr>
237
+ <tr>
238
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
239
+ <td>bytes to insert
240
+ </td>
241
+ </tr>
242
+ <tr>
243
+ <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
244
+ <td>number of bytes of <em class="parameter"><code>string</code></em> to insert, or -1 to insert a
245
+ nul-terminated string
246
+ </td>
247
+ </tr>
248
+ <tr>
249
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
250
+ <td> a pointer to the copy of <em class="parameter"><code>string</code></em> within the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
251
+
252
+ </td>
253
+ </tr>
254
+ </tbody>
255
+ </table></div>
256
+ <p class="since">Since 2.4</p>
257
+ </div>
258
+ <hr>
259
+ <div class="refsect2">
260
+ <a name="g-string-chunk-clear"></a><h3>g_string_chunk_clear ()</h3>
261
+ <pre class="programlisting"><span class="returnvalue">void</span> g_string_chunk_clear (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>);</pre>
262
+ <p>
263
+ Frees all strings contained within the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>.
264
+ After calling <a class="link" href="glib-String-Chunks.html#g-string-chunk-clear" title="g_string_chunk_clear ()"><code class="function">g_string_chunk_clear()</code></a> it is not safe to
265
+ access any of the strings which were contained within it.
266
+ </p>
267
+ <div class="variablelist"><table border="0">
268
+ <col align="left" valign="top">
269
+ <tbody><tr>
270
+ <td><p><span class="term"><em class="parameter"><code>chunk</code></em> :</span></p></td>
271
+ <td>a <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
272
+ </td>
273
+ </tr></tbody>
274
+ </table></div>
275
+ <p class="since">Since 2.14</p>
276
+ </div>
277
+ <hr>
278
+ <div class="refsect2">
279
+ <a name="g-string-chunk-free"></a><h3>g_string_chunk_free ()</h3>
280
+ <pre class="programlisting"><span class="returnvalue">void</span> g_string_chunk_free (<em class="parameter"><code><a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a> *chunk</code></em>);</pre>
281
+ <p>
282
+ Frees all memory allocated by the <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>.
283
+ After calling <a class="link" href="glib-String-Chunks.html#g-string-chunk-free" title="g_string_chunk_free ()"><code class="function">g_string_chunk_free()</code></a> it is not safe to
284
+ access any of the strings which were contained within it.
285
+ </p>
286
+ <div class="variablelist"><table border="0">
287
+ <col align="left" valign="top">
288
+ <tbody><tr>
289
+ <td><p><span class="term"><em class="parameter"><code>chunk</code></em> :</span></p></td>
290
+ <td>a <a class="link" href="glib-String-Chunks.html#GStringChunk" title="GStringChunk"><span class="type">GStringChunk</span></a>
291
+ </td>
292
+ </tr></tbody>
293
+ </table></div>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ <div class="footer">
298
+ <hr>
299
+ Generated by GTK-Doc V1.15.1</div>
300
+ </body>
301
+ </html>
@@ -0,0 +1,2960 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>String Utility Functions</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
+ <link rel="home" href="index.html" title="GLib Reference Manual">
8
+ <link rel="up" href="glib-utilities.html" title="GLib Utilities">
9
+ <link rel="prev" href="glib-utilities.html" title="GLib Utilities">
10
+ <link rel="next" href="glib-Character-Set-Conversion.html" title="Character Set Conversion">
11
+ <meta name="generator" content="GTK-Doc V1.15.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16
+ <tr valign="middle">
17
+ <td><a accesskey="p" href="glib-utilities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
+ <td><a accesskey="u" href="glib-utilities.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
+ <th width="100%" align="center">GLib Reference Manual</th>
21
+ <td><a accesskey="n" href="glib-Character-Set-Conversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
+ </tr>
23
+ <tr><td colspan="5" class="shortcuts">
24
+ <a href="#glib-String-Utility-Functions.synopsis" class="shortcut">Top</a>
25
+  | 
26
+ <a href="#glib-String-Utility-Functions.description" class="shortcut">Description</a>
27
+ </td></tr>
28
+ </table>
29
+ <div class="refentry">
30
+ <a name="glib-String-Utility-Functions"></a><div class="titlepage"></div>
31
+ <div class="refnamediv"><table width="100%"><tr>
32
+ <td valign="top">
33
+ <h2><span class="refentrytitle"><a name="glib-String-Utility-Functions.top_of_page"></a>String Utility Functions</span></h2>
34
+ <p>String Utility Functions — various string-related functions</p>
35
+ </td>
36
+ <td valign="top" align="right"></td>
37
+ </tr></table></div>
38
+ <div class="refsynopsisdiv">
39
+ <a name="glib-String-Utility-Functions.synopsis"></a><h2>Synopsis</h2>
40
+ <pre class="synopsis">
41
+ #include &lt;glib.h&gt;
42
+ #include &lt;glib/gprintf.h&gt;
43
+
44
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strdup" title="g_strdup ()">g_strdup</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>);
45
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strndup" title="g_strndup ()">g_strndup</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
46
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n</code></em>);
47
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** <a class="link" href="glib-String-Utility-Functions.html#g-strdupv" title="g_strdupv ()">g_strdupv</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **str_array</code></em>);
48
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strnfill" title="g_strnfill ()">g_strnfill</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> length</code></em>,
49
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> fill_char</code></em>);
50
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-stpcpy" title="g_stpcpy ()">g_stpcpy</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *dest</code></em>,
51
+ <em class="parameter"><code>const <span class="type">char</span> *src</code></em>);
52
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strstr-len" title="g_strstr_len ()">g_strstr_len</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *haystack</code></em>,
53
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> haystack_len</code></em>,
54
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *needle</code></em>);
55
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strrstr" title="g_strrstr ()">g_strrstr</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *haystack</code></em>,
56
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *needle</code></em>);
57
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strrstr-len" title="g_strrstr_len ()">g_strrstr_len</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *haystack</code></em>,
58
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> haystack_len</code></em>,
59
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *needle</code></em>);
60
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-str-has-prefix" title="g_str_has_prefix ()">g_str_has_prefix</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
61
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *prefix</code></em>);
62
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-str-has-suffix" title="g_str_has_suffix ()">g_str_has_suffix</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
63
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *suffix</code></em>);
64
+ <span class="returnvalue">int</span> <a class="link" href="glib-String-Utility-Functions.html#g-strcmp0" title="g_strcmp0 ()">g_strcmp0</a> (<em class="parameter"><code>const <span class="type">char</span> *str1</code></em>,
65
+ <em class="parameter"><code>const <span class="type">char</span> *str2</code></em>);
66
+
67
+ <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-strlcpy" title="g_strlcpy ()">g_strlcpy</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *dest</code></em>,
68
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *src</code></em>,
69
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> dest_size</code></em>);
70
+ <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-strlcat" title="g_strlcat ()">g_strlcat</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *dest</code></em>,
71
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *src</code></em>,
72
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> dest_size</code></em>);
73
+
74
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strdup-printf" title="g_strdup_printf ()">g_strdup_printf</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
75
+ <em class="parameter"><code>...</code></em>);
76
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strdup-vprintf" title="g_strdup_vprintf ()">g_strdup_vprintf</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
77
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);
78
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-printf" title="g_printf ()">g_printf</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
79
+ <em class="parameter"><code>...</code></em>);
80
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-vprintf" title="g_vprintf ()">g_vprintf</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
81
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);
82
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-fprintf" title="g_fprintf ()">g_fprintf</a> (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
83
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
84
+ <em class="parameter"><code>...</code></em>);
85
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-vfprintf" title="g_vfprintf ()">g_vfprintf</a> (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
86
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
87
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);
88
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-sprintf" title="g_sprintf ()">g_sprintf</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
89
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
90
+ <em class="parameter"><code>...</code></em>);
91
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-vsprintf" title="g_vsprintf ()">g_vsprintf</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
92
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
93
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);
94
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-snprintf" title="g_snprintf ()">g_snprintf</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
95
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> n</code></em>,
96
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
97
+ <em class="parameter"><code>...</code></em>);
98
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-vsnprintf" title="g_vsnprintf ()">g_vsnprintf</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
99
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> n</code></em>,
100
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
101
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);
102
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-vasprintf" title="g_vasprintf ()">g_vasprintf</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **string</code></em>,
103
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
104
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);
105
+ <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-printf-string-upper-bound" title="g_printf_string_upper_bound ()">g_printf_string_upper_bound</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
106
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);
107
+
108
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isalnum" title="g_ascii_isalnum ()">g_ascii_isalnum</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
109
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isalpha" title="g_ascii_isalpha ()">g_ascii_isalpha</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
110
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-iscntrl" title="g_ascii_iscntrl ()">g_ascii_iscntrl</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
111
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isdigit" title="g_ascii_isdigit ()">g_ascii_isdigit</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
112
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isgraph" title="g_ascii_isgraph ()">g_ascii_isgraph</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
113
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-islower" title="g_ascii_islower ()">g_ascii_islower</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
114
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isprint" title="g_ascii_isprint ()">g_ascii_isprint</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
115
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-ispunct" title="g_ascii_ispunct ()">g_ascii_ispunct</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
116
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isspace" title="g_ascii_isspace ()">g_ascii_isspace</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
117
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isupper" title="g_ascii_isupper ()">g_ascii_isupper</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
118
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isxdigit" title="g_ascii_isxdigit ()">g_ascii_isxdigit</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
119
+
120
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-digit-value" title="g_ascii_digit_value ()">g_ascii_digit_value</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
121
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-xdigit-value" title="g_ascii_xdigit_value ()">g_ascii_xdigit_value</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
122
+
123
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strcasecmp" title="g_ascii_strcasecmp ()">g_ascii_strcasecmp</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>,
124
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>);
125
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strncasecmp" title="g_ascii_strncasecmp ()">g_ascii_strncasecmp</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>,
126
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>,
127
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n</code></em>);
128
+
129
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strup" title="g_ascii_strup ()">g_ascii_strup</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
130
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> len</code></em>);
131
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strdown" title="g_ascii_strdown ()">g_ascii_strdown</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
132
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> len</code></em>);
133
+
134
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-tolower" title="g_ascii_tolower ()">g_ascii_tolower</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
135
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-toupper" title="g_ascii_toupper ()">g_ascii_toupper</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);
136
+
137
+ <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-string-ascii-up" title="g_string_ascii_up ()">g_string_ascii_up</a> (<em class="parameter"><code><a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> *string</code></em>);
138
+ <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-string-ascii-down" title="g_string_ascii_down ()">g_string_ascii_down</a> (<em class="parameter"><code><a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> *string</code></em>);
139
+
140
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strup" title="g_strup ()">g_strup</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
141
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strdown" title="g_strdown ()">g_strdown</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
142
+
143
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-strcasecmp" title="g_strcasecmp ()">g_strcasecmp</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>,
144
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>);
145
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-strncasecmp" title="g_strncasecmp ()">g_strncasecmp</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>,
146
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>,
147
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> n</code></em>);
148
+
149
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strreverse" title="g_strreverse ()">g_strreverse</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
150
+
151
+ <a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="returnvalue">gint64</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strtoll" title="g_ascii_strtoll ()">g_ascii_strtoll</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *nptr</code></em>,
152
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
153
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> base</code></em>);
154
+ <a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="returnvalue">guint64</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strtoull" title="g_ascii_strtoull ()">g_ascii_strtoull</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *nptr</code></em>,
155
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
156
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> base</code></em>);
157
+ #define <a class="link" href="glib-String-Utility-Functions.html#G-ASCII-DTOSTR-BUF-SIZE:CAPS" title="G_ASCII_DTOSTR_BUF_SIZE">G_ASCII_DTOSTR_BUF_SIZE</a>
158
+ <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strtod" title="g_ascii_strtod ()">g_ascii_strtod</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *nptr</code></em>,
159
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>);
160
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-ascii-dtostr" title="g_ascii_dtostr ()">g_ascii_dtostr</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *buffer</code></em>,
161
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> buf_len</code></em>,
162
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> d</code></em>);
163
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-ascii-formatd" title="g_ascii_formatd ()">g_ascii_formatd</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *buffer</code></em>,
164
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> buf_len</code></em>,
165
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
166
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> d</code></em>);
167
+ <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-strtod" title="g_strtod ()">g_strtod</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *nptr</code></em>,
168
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>);
169
+
170
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strchug" title="g_strchug ()">g_strchug</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
171
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strchomp" title="g_strchomp ()">g_strchomp</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
172
+ #define <a class="link" href="glib-String-Utility-Functions.html#g-strstrip" title="g_strstrip()">g_strstrip</a> (string)
173
+
174
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strdelimit" title="g_strdelimit ()">g_strdelimit</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
175
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *delimiters</code></em>,
176
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> new_delimiter</code></em>);
177
+ #define <a class="link" href="glib-String-Utility-Functions.html#G-STR-DELIMITERS:CAPS" title="G_STR_DELIMITERS">G_STR_DELIMITERS</a>
178
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strescape" title="g_strescape ()">g_strescape</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *source</code></em>,
179
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *exceptions</code></em>);
180
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strcompress" title="g_strcompress ()">g_strcompress</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *source</code></em>);
181
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strcanon" title="g_strcanon ()">g_strcanon</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
182
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *valid_chars</code></em>,
183
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> substitutor</code></em>);
184
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** <a class="link" href="glib-String-Utility-Functions.html#g-strsplit" title="g_strsplit ()">g_strsplit</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
185
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *delimiter</code></em>,
186
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> max_tokens</code></em>);
187
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** <a class="link" href="glib-String-Utility-Functions.html#g-strsplit-set" title="g_strsplit_set ()">g_strsplit_set</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
188
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *delimiters</code></em>,
189
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> max_tokens</code></em>);
190
+ <span class="returnvalue">void</span> <a class="link" href="glib-String-Utility-Functions.html#g-strfreev" title="g_strfreev ()">g_strfreev</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **str_array</code></em>);
191
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strconcat" title="g_strconcat ()">g_strconcat</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string1</code></em>,
192
+ <em class="parameter"><code>...</code></em>);
193
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strjoin" title="g_strjoin ()">g_strjoin</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *separator</code></em>,
194
+ <em class="parameter"><code>...</code></em>);
195
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strjoinv" title="g_strjoinv ()">g_strjoinv</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *separator</code></em>,
196
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **str_array</code></em>);
197
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-String-Utility-Functions.html#g-strv-length" title="g_strv_length ()">g_strv_length</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **str_array</code></em>);
198
+
199
+ const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strerror" title="g_strerror ()">g_strerror</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> errnum</code></em>);
200
+ const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-String-Utility-Functions.html#g-strsignal" title="g_strsignal ()">g_strsignal</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> signum</code></em>);
201
+ </pre>
202
+ </div>
203
+ <div class="refsect1">
204
+ <a name="glib-String-Utility-Functions.description"></a><h2>Description</h2>
205
+ <p>
206
+ This section describes a number of utility functions for creating,
207
+ duplicating, and manipulating strings.
208
+ </p>
209
+ <p>
210
+ Note that the functions <a class="link" href="glib-String-Utility-Functions.html#g-printf" title="g_printf ()"><code class="function">g_printf()</code></a>, <a class="link" href="glib-String-Utility-Functions.html#g-fprintf" title="g_fprintf ()"><code class="function">g_fprintf()</code></a>, <a class="link" href="glib-String-Utility-Functions.html#g-sprintf" title="g_sprintf ()"><code class="function">g_sprintf()</code></a>, <a class="link" href="glib-String-Utility-Functions.html#g-snprintf" title="g_snprintf ()"><code class="function">g_snprintf()</code></a>,
211
+ <a class="link" href="glib-String-Utility-Functions.html#g-vprintf" title="g_vprintf ()"><code class="function">g_vprintf()</code></a>, <a class="link" href="glib-String-Utility-Functions.html#g-vfprintf" title="g_vfprintf ()"><code class="function">g_vfprintf()</code></a>, <a class="link" href="glib-String-Utility-Functions.html#g-vsprintf" title="g_vsprintf ()"><code class="function">g_vsprintf()</code></a> and <a class="link" href="glib-String-Utility-Functions.html#g-vsnprintf" title="g_vsnprintf ()"><code class="function">g_vsnprintf()</code></a> are declared in
212
+ the header <code class="filename">gprintf.h</code> which is <span class="emphasis"><em>not</em></span>
213
+ included in <code class="filename">glib.h</code> (otherwise using
214
+ <code class="filename">glib.h</code> would drag in <code class="filename">stdio.h</code>), so
215
+ you'll have to explicitly include <code class="literal">&lt;glib/gprintf.h&gt;</code>
216
+ in order to use the GLib <code class="function">printf()</code> functions.
217
+ </p>
218
+ <p><a name="string-precision"></a>
219
+ While you may use the <code class="function">printf()</code> functions to format UTF-8 strings, notice that
220
+ the precision of a <code class="literal">%Ns</code> parameter is interpreted as the
221
+ number of <span class="emphasis"><em>bytes</em></span>, not <span class="emphasis"><em>characters</em></span> to print.
222
+ On top of that, the GNU libc implementation of the <code class="function">printf()</code> functions has the "feature"
223
+ that it checks that the string given for the <code class="literal">%Ns</code> parameter
224
+ consists of a whole number of characters in the current encoding. So, unless you
225
+ are sure you are always going to be in an UTF-8 locale or your know your text is restricted
226
+ to ASCII, avoid using <code class="literal">%Ns</code>.
227
+ If your intention is to format strings for a certain number of columns, then
228
+ <code class="literal">%Ns</code> is not a correct solution anyway, since it fails to take
229
+ wide characters (see <a class="link" href="glib-Unicode-Manipulation.html#g-unichar-iswide" title="g_unichar_iswide ()"><code class="function">g_unichar_iswide()</code></a>) into account.
230
+ </p>
231
+ </div>
232
+ <div class="refsect1">
233
+ <a name="glib-String-Utility-Functions.details"></a><h2>Details</h2>
234
+ <div class="refsect2">
235
+ <a name="g-strdup"></a><h3>g_strdup ()</h3>
236
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strdup (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>);</pre>
237
+ <p>
238
+ Duplicates a string. If <em class="parameter"><code>str</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> it returns <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
239
+ The returned string should be freed with <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a>
240
+ when no longer needed.
241
+ </p>
242
+ <div class="variablelist"><table border="0">
243
+ <col align="left" valign="top">
244
+ <tbody>
245
+ <tr>
246
+ <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
247
+ <td>the string to duplicate
248
+ </td>
249
+ </tr>
250
+ <tr>
251
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
252
+ <td> a newly-allocated copy of <em class="parameter"><code>str</code></em>
253
+ </td>
254
+ </tr>
255
+ </tbody>
256
+ </table></div>
257
+ </div>
258
+ <hr>
259
+ <div class="refsect2">
260
+ <a name="g-strndup"></a><h3>g_strndup ()</h3>
261
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strndup (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
262
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n</code></em>);</pre>
263
+ <p>
264
+ Duplicates the first <em class="parameter"><code>n</code></em> bytes of a string, returning a newly-allocated
265
+ buffer <em class="parameter"><code>n</code></em> + 1 bytes long which will always be nul-terminated.
266
+ If <em class="parameter"><code>str</code></em> is less than <em class="parameter"><code>n</code></em> bytes long the buffer is padded with nuls.
267
+ If <em class="parameter"><code>str</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> it returns <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
268
+ The returned value should be freed when no longer needed.
269
+ </p>
270
+ <p>
271
+ </p>
272
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
273
+ <h3 class="title">Note</h3>
274
+ <p>
275
+ To copy a number of characters from a UTF-8 encoded string, use
276
+ <a class="link" href="glib-Unicode-Manipulation.html#g-utf8-strncpy" title="g_utf8_strncpy ()"><code class="function">g_utf8_strncpy()</code></a> instead.
277
+ </p>
278
+ </div>
279
+ <p>
280
+ </p>
281
+ <div class="variablelist"><table border="0">
282
+ <col align="left" valign="top">
283
+ <tbody>
284
+ <tr>
285
+ <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
286
+ <td>the string to duplicate
287
+ </td>
288
+ </tr>
289
+ <tr>
290
+ <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
291
+ <td>the maximum number of bytes to copy from <em class="parameter"><code>str</code></em>
292
+ </td>
293
+ </tr>
294
+ <tr>
295
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
296
+ <td> a newly-allocated buffer containing the first <em class="parameter"><code>n</code></em> bytes
297
+ of <em class="parameter"><code>str</code></em>, nul-terminated
298
+ </td>
299
+ </tr>
300
+ </tbody>
301
+ </table></div>
302
+ </div>
303
+ <hr>
304
+ <div class="refsect2">
305
+ <a name="g-strdupv"></a><h3>g_strdupv ()</h3>
306
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** g_strdupv (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **str_array</code></em>);</pre>
307
+ <p>
308
+ Copies <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings. The copy is a deep copy;
309
+ the new array should be freed by first freeing each string, then
310
+ the array itself. <a class="link" href="glib-String-Utility-Functions.html#g-strfreev" title="g_strfreev ()"><code class="function">g_strfreev()</code></a> does this for you. If called
311
+ on a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> value, <a class="link" href="glib-String-Utility-Functions.html#g-strdupv" title="g_strdupv ()"><code class="function">g_strdupv()</code></a> simply returns <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
312
+ </p>
313
+ <div class="variablelist"><table border="0">
314
+ <col align="left" valign="top">
315
+ <tbody>
316
+ <tr>
317
+ <td><p><span class="term"><em class="parameter"><code>str_array</code></em> :</span></p></td>
318
+ <td>
319
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings.
320
+ </td>
321
+ </tr>
322
+ <tr>
323
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
324
+ <td> a new <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings.
325
+ </td>
326
+ </tr>
327
+ </tbody>
328
+ </table></div>
329
+ </div>
330
+ <hr>
331
+ <div class="refsect2">
332
+ <a name="g-strnfill"></a><h3>g_strnfill ()</h3>
333
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strnfill (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> length</code></em>,
334
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> fill_char</code></em>);</pre>
335
+ <p>
336
+ Creates a new string <em class="parameter"><code>length</code></em> bytes long filled with <em class="parameter"><code>fill_char</code></em>.
337
+ The returned string should be freed when no longer needed.
338
+ </p>
339
+ <div class="variablelist"><table border="0">
340
+ <col align="left" valign="top">
341
+ <tbody>
342
+ <tr>
343
+ <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
344
+ <td>the length of the new string
345
+ </td>
346
+ </tr>
347
+ <tr>
348
+ <td><p><span class="term"><em class="parameter"><code>fill_char</code></em> :</span></p></td>
349
+ <td>the byte to fill the string with
350
+ </td>
351
+ </tr>
352
+ <tr>
353
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
354
+ <td> a newly-allocated string filled the <em class="parameter"><code>fill_char</code></em>
355
+ </td>
356
+ </tr>
357
+ </tbody>
358
+ </table></div>
359
+ </div>
360
+ <hr>
361
+ <div class="refsect2">
362
+ <a name="g-stpcpy"></a><h3>g_stpcpy ()</h3>
363
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_stpcpy (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *dest</code></em>,
364
+ <em class="parameter"><code>const <span class="type">char</span> *src</code></em>);</pre>
365
+ <p>
366
+ Copies a nul-terminated string into the dest buffer, include the
367
+ trailing nul, and return a pointer to the trailing nul byte.
368
+ This is useful for concatenating multiple strings together
369
+ without having to repeatedly scan for the end.
370
+ </p>
371
+ <div class="variablelist"><table border="0">
372
+ <col align="left" valign="top">
373
+ <tbody>
374
+ <tr>
375
+ <td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
376
+ <td>destination buffer.
377
+ </td>
378
+ </tr>
379
+ <tr>
380
+ <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
381
+ <td>source string.
382
+ </td>
383
+ </tr>
384
+ <tr>
385
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
386
+ <td> a pointer to trailing nul byte.
387
+ </td>
388
+ </tr>
389
+ </tbody>
390
+ </table></div>
391
+ </div>
392
+ <hr>
393
+ <div class="refsect2">
394
+ <a name="g-strstr-len"></a><h3>g_strstr_len ()</h3>
395
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strstr_len (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *haystack</code></em>,
396
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> haystack_len</code></em>,
397
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *needle</code></em>);</pre>
398
+ <p>
399
+ Searches the string <em class="parameter"><code>haystack</code></em> for the first occurrence
400
+ of the string <em class="parameter"><code>needle</code></em>, limiting the length of the search
401
+ to <em class="parameter"><code>haystack_len</code></em>.
402
+ </p>
403
+ <div class="variablelist"><table border="0">
404
+ <col align="left" valign="top">
405
+ <tbody>
406
+ <tr>
407
+ <td><p><span class="term"><em class="parameter"><code>haystack</code></em> :</span></p></td>
408
+ <td>a string.
409
+ </td>
410
+ </tr>
411
+ <tr>
412
+ <td><p><span class="term"><em class="parameter"><code>haystack_len</code></em> :</span></p></td>
413
+ <td>the maximum length of <em class="parameter"><code>haystack</code></em>. Note that -1 is
414
+ a valid length, if <em class="parameter"><code>haystack</code></em> is nul-terminated, meaning it will
415
+ search through the whole string.
416
+ </td>
417
+ </tr>
418
+ <tr>
419
+ <td><p><span class="term"><em class="parameter"><code>needle</code></em> :</span></p></td>
420
+ <td>the string to search for.
421
+ </td>
422
+ </tr>
423
+ <tr>
424
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
425
+ <td> a pointer to the found occurrence, or
426
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if not found.
427
+ </td>
428
+ </tr>
429
+ </tbody>
430
+ </table></div>
431
+ </div>
432
+ <hr>
433
+ <div class="refsect2">
434
+ <a name="g-strrstr"></a><h3>g_strrstr ()</h3>
435
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strrstr (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *haystack</code></em>,
436
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *needle</code></em>);</pre>
437
+ <p>
438
+ Searches the string <em class="parameter"><code>haystack</code></em> for the last occurrence
439
+ of the string <em class="parameter"><code>needle</code></em>.
440
+ </p>
441
+ <div class="variablelist"><table border="0">
442
+ <col align="left" valign="top">
443
+ <tbody>
444
+ <tr>
445
+ <td><p><span class="term"><em class="parameter"><code>haystack</code></em> :</span></p></td>
446
+ <td>a nul-terminated string.
447
+ </td>
448
+ </tr>
449
+ <tr>
450
+ <td><p><span class="term"><em class="parameter"><code>needle</code></em> :</span></p></td>
451
+ <td>the nul-terminated string to search for.
452
+ </td>
453
+ </tr>
454
+ <tr>
455
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
456
+ <td> a pointer to the found occurrence, or
457
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if not found.
458
+ </td>
459
+ </tr>
460
+ </tbody>
461
+ </table></div>
462
+ </div>
463
+ <hr>
464
+ <div class="refsect2">
465
+ <a name="g-strrstr-len"></a><h3>g_strrstr_len ()</h3>
466
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strrstr_len (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *haystack</code></em>,
467
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> haystack_len</code></em>,
468
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *needle</code></em>);</pre>
469
+ <p>
470
+ Searches the string <em class="parameter"><code>haystack</code></em> for the last occurrence
471
+ of the string <em class="parameter"><code>needle</code></em>, limiting the length of the search
472
+ to <em class="parameter"><code>haystack_len</code></em>.
473
+ </p>
474
+ <div class="variablelist"><table border="0">
475
+ <col align="left" valign="top">
476
+ <tbody>
477
+ <tr>
478
+ <td><p><span class="term"><em class="parameter"><code>haystack</code></em> :</span></p></td>
479
+ <td>a nul-terminated string.
480
+ </td>
481
+ </tr>
482
+ <tr>
483
+ <td><p><span class="term"><em class="parameter"><code>haystack_len</code></em> :</span></p></td>
484
+ <td>the maximum length of <em class="parameter"><code>haystack</code></em>.
485
+ </td>
486
+ </tr>
487
+ <tr>
488
+ <td><p><span class="term"><em class="parameter"><code>needle</code></em> :</span></p></td>
489
+ <td>the nul-terminated string to search for.
490
+ </td>
491
+ </tr>
492
+ <tr>
493
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
494
+ <td> a pointer to the found occurrence, or
495
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if not found.
496
+ </td>
497
+ </tr>
498
+ </tbody>
499
+ </table></div>
500
+ </div>
501
+ <hr>
502
+ <div class="refsect2">
503
+ <a name="g-str-has-prefix"></a><h3>g_str_has_prefix ()</h3>
504
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_str_has_prefix (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
505
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *prefix</code></em>);</pre>
506
+ <p>
507
+ Looks whether the string <em class="parameter"><code>str</code></em> begins with <em class="parameter"><code>prefix</code></em>.
508
+ </p>
509
+ <div class="variablelist"><table border="0">
510
+ <col align="left" valign="top">
511
+ <tbody>
512
+ <tr>
513
+ <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
514
+ <td>a nul-terminated string.
515
+ </td>
516
+ </tr>
517
+ <tr>
518
+ <td><p><span class="term"><em class="parameter"><code>prefix</code></em> :</span></p></td>
519
+ <td>the nul-terminated prefix to look for.
520
+ </td>
521
+ </tr>
522
+ <tr>
523
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
524
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>str</code></em> begins with <em class="parameter"><code>prefix</code></em>, <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> otherwise.
525
+
526
+ </td>
527
+ </tr>
528
+ </tbody>
529
+ </table></div>
530
+ <p class="since">Since 2.2</p>
531
+ </div>
532
+ <hr>
533
+ <div class="refsect2">
534
+ <a name="g-str-has-suffix"></a><h3>g_str_has_suffix ()</h3>
535
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_str_has_suffix (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
536
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *suffix</code></em>);</pre>
537
+ <p>
538
+ Looks whether the string <em class="parameter"><code>str</code></em> ends with <em class="parameter"><code>suffix</code></em>.
539
+ </p>
540
+ <div class="variablelist"><table border="0">
541
+ <col align="left" valign="top">
542
+ <tbody>
543
+ <tr>
544
+ <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
545
+ <td>a nul-terminated string.
546
+ </td>
547
+ </tr>
548
+ <tr>
549
+ <td><p><span class="term"><em class="parameter"><code>suffix</code></em> :</span></p></td>
550
+ <td>the nul-terminated suffix to look for.
551
+ </td>
552
+ </tr>
553
+ <tr>
554
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
555
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>str</code></em> end with <em class="parameter"><code>suffix</code></em>, <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> otherwise.
556
+
557
+ </td>
558
+ </tr>
559
+ </tbody>
560
+ </table></div>
561
+ <p class="since">Since 2.2</p>
562
+ </div>
563
+ <hr>
564
+ <div class="refsect2">
565
+ <a name="g-strcmp0"></a><h3>g_strcmp0 ()</h3>
566
+ <pre class="programlisting"><span class="returnvalue">int</span> g_strcmp0 (<em class="parameter"><code>const <span class="type">char</span> *str1</code></em>,
567
+ <em class="parameter"><code>const <span class="type">char</span> *str2</code></em>);</pre>
568
+ <p>
569
+ Compares <em class="parameter"><code>str1</code></em> and <em class="parameter"><code>str2</code></em> like <code class="function">strcmp()</code>. Handles <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
570
+ gracefully by sorting it before non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> strings.
571
+ Comparing two <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> pointers returns 0.
572
+ </p>
573
+ <div class="variablelist"><table border="0">
574
+ <col align="left" valign="top">
575
+ <tbody>
576
+ <tr>
577
+ <td><p><span class="term"><em class="parameter"><code>str1</code></em> :</span></p></td>
578
+ <td>a C string or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
579
+ </td>
580
+ </tr>
581
+ <tr>
582
+ <td><p><span class="term"><em class="parameter"><code>str2</code></em> :</span></p></td>
583
+ <td>another C string or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
584
+ </td>
585
+ </tr>
586
+ <tr>
587
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
588
+ <td> -1, 0 or 1, if <em class="parameter"><code>str1</code></em> is &lt;, == or &gt; than <em class="parameter"><code>str2</code></em>.
589
+
590
+ </td>
591
+ </tr>
592
+ </tbody>
593
+ </table></div>
594
+ <p class="since">Since 2.16</p>
595
+ </div>
596
+ <hr>
597
+ <div class="refsect2">
598
+ <a name="g-strlcpy"></a><h3>g_strlcpy ()</h3>
599
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> g_strlcpy (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *dest</code></em>,
600
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *src</code></em>,
601
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> dest_size</code></em>);</pre>
602
+ <p>
603
+ Portability wrapper that calls <code class="function">strlcpy()</code> on systems which have it,
604
+ and emulates <code class="function">strlcpy()</code> otherwise. Copies <em class="parameter"><code>src</code></em> to <em class="parameter"><code>dest</code></em>; <em class="parameter"><code>dest</code></em> is
605
+ guaranteed to be nul-terminated; <em class="parameter"><code>src</code></em> must be nul-terminated;
606
+ <em class="parameter"><code>dest_size</code></em> is the buffer size, not the number of chars to copy.
607
+ </p>
608
+ <p>
609
+ At most dest_size - 1 characters will be copied. Always nul-terminates
610
+ (unless dest_size == 0). This function does <span class="emphasis"><em>not</em></span>
611
+ allocate memory. Unlike <code class="function">strncpy()</code>, this function doesn't pad dest (so
612
+ it's often faster). It returns the size of the attempted result,
613
+ strlen (src), so if <em class="parameter"><code>retval</code></em> &gt;= <em class="parameter"><code>dest_size</code></em>, truncation occurred.
614
+ </p>
615
+ <p>
616
+ </p>
617
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
618
+ <h3 class="title">Note</h3>
619
+ <p>Caveat: <code class="function">strlcpy()</code> is supposedly more secure than
620
+ <code class="function">strcpy()</code> or <code class="function">strncpy()</code>, but if you really want to avoid screwups,
621
+ <a class="link" href="glib-String-Utility-Functions.html#g-strdup" title="g_strdup ()"><code class="function">g_strdup()</code></a> is an even better idea.</p>
622
+ </div>
623
+ <p>
624
+ </p>
625
+ <div class="variablelist"><table border="0">
626
+ <col align="left" valign="top">
627
+ <tbody>
628
+ <tr>
629
+ <td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
630
+ <td>destination buffer
631
+ </td>
632
+ </tr>
633
+ <tr>
634
+ <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
635
+ <td>source buffer
636
+ </td>
637
+ </tr>
638
+ <tr>
639
+ <td><p><span class="term"><em class="parameter"><code>dest_size</code></em> :</span></p></td>
640
+ <td>length of <em class="parameter"><code>dest</code></em> in bytes
641
+ </td>
642
+ </tr>
643
+ <tr>
644
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
645
+ <td> length of <em class="parameter"><code>src</code></em>
646
+ </td>
647
+ </tr>
648
+ </tbody>
649
+ </table></div>
650
+ </div>
651
+ <hr>
652
+ <div class="refsect2">
653
+ <a name="g-strlcat"></a><h3>g_strlcat ()</h3>
654
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> g_strlcat (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *dest</code></em>,
655
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *src</code></em>,
656
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> dest_size</code></em>);</pre>
657
+ <p>
658
+ Portability wrapper that calls <code class="function">strlcat()</code> on systems which have it,
659
+ and emulates it otherwise. Appends nul-terminated <em class="parameter"><code>src</code></em> string to <em class="parameter"><code>dest</code></em>,
660
+ guaranteeing nul-termination for <em class="parameter"><code>dest</code></em>. The total size of <em class="parameter"><code>dest</code></em> won't
661
+ exceed <em class="parameter"><code>dest_size</code></em>.
662
+ </p>
663
+ <p>
664
+ At most dest_size - 1 characters will be copied.
665
+ Unlike strncat, dest_size is the full size of dest, not the space left over.
666
+ This function does NOT allocate memory.
667
+ This always NUL terminates (unless siz == 0 or there were no NUL characters
668
+ in the dest_size characters of dest to start with).
669
+ </p>
670
+ <p>
671
+ </p>
672
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
673
+ <h3 class="title">Note</h3>
674
+ <p>Caveat: this is supposedly a more secure alternative to
675
+ <code class="function">strcat()</code> or <code class="function">strncat()</code>, but for real security <a class="link" href="glib-String-Utility-Functions.html#g-strconcat" title="g_strconcat ()"><code class="function">g_strconcat()</code></a> is harder
676
+ to mess up.</p>
677
+ </div>
678
+ <p>
679
+ </p>
680
+ <div class="variablelist"><table border="0">
681
+ <col align="left" valign="top">
682
+ <tbody>
683
+ <tr>
684
+ <td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
685
+ <td>destination buffer, already containing one nul-terminated string
686
+ </td>
687
+ </tr>
688
+ <tr>
689
+ <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
690
+ <td>source buffer
691
+ </td>
692
+ </tr>
693
+ <tr>
694
+ <td><p><span class="term"><em class="parameter"><code>dest_size</code></em> :</span></p></td>
695
+ <td>length of <em class="parameter"><code>dest</code></em> buffer in bytes (not length of existing string
696
+ inside <em class="parameter"><code>dest</code></em>)
697
+ </td>
698
+ </tr>
699
+ <tr>
700
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
701
+ <td> size of attempted result, which is MIN (dest_size, strlen
702
+ (original dest)) + strlen (src), so if retval &gt;= dest_size,
703
+ truncation occurred.
704
+ </td>
705
+ </tr>
706
+ </tbody>
707
+ </table></div>
708
+ </div>
709
+ <hr>
710
+ <div class="refsect2">
711
+ <a name="g-strdup-printf"></a><h3>g_strdup_printf ()</h3>
712
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strdup_printf (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
713
+ <em class="parameter"><code>...</code></em>);</pre>
714
+ <p>
715
+ Similar to the standard C <code class="function">sprintf()</code> function but safer, since it
716
+ calculates the maximum space required and allocates memory to hold
717
+ the result. The returned string should be freed with <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a> when no
718
+ longer needed.
719
+ </p>
720
+ <div class="variablelist"><table border="0">
721
+ <col align="left" valign="top">
722
+ <tbody>
723
+ <tr>
724
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
725
+ <td>a standard <code class="function">printf()</code> format string, but notice
726
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>
727
+ </td>
728
+ </tr>
729
+ <tr>
730
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
731
+ <td>the parameters to insert into the format string
732
+ </td>
733
+ </tr>
734
+ <tr>
735
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
736
+ <td> a newly-allocated string holding the result
737
+ </td>
738
+ </tr>
739
+ </tbody>
740
+ </table></div>
741
+ </div>
742
+ <hr>
743
+ <div class="refsect2">
744
+ <a name="g-strdup-vprintf"></a><h3>g_strdup_vprintf ()</h3>
745
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strdup_vprintf (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
746
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
747
+ <p>
748
+ Similar to the standard C <code class="function">vsprintf()</code> function but safer, since it
749
+ calculates the maximum space required and allocates memory to hold
750
+ the result. The returned string should be freed with <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a> when
751
+ no longer needed.
752
+ </p>
753
+ <p>
754
+ See also <a class="link" href="glib-String-Utility-Functions.html#g-vasprintf" title="g_vasprintf ()"><code class="function">g_vasprintf()</code></a>, which offers the same functionality, but
755
+ additionally returns the length of the allocated string.
756
+ </p>
757
+ <div class="variablelist"><table border="0">
758
+ <col align="left" valign="top">
759
+ <tbody>
760
+ <tr>
761
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
762
+ <td>a standard <code class="function">printf()</code> format string, but notice
763
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>
764
+ </td>
765
+ </tr>
766
+ <tr>
767
+ <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
768
+ <td>the list of parameters to insert into the format string
769
+ </td>
770
+ </tr>
771
+ <tr>
772
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
773
+ <td> a newly-allocated string holding the result
774
+ </td>
775
+ </tr>
776
+ </tbody>
777
+ </table></div>
778
+ </div>
779
+ <hr>
780
+ <div class="refsect2">
781
+ <a name="g-printf"></a><h3>g_printf ()</h3>
782
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_printf (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
783
+ <em class="parameter"><code>...</code></em>);</pre>
784
+ <p>
785
+ An implementation of the standard <code class="function">printf()</code> function which supports
786
+ positional parameters, as specified in the Single Unix Specification.
787
+ </p>
788
+ <div class="variablelist"><table border="0">
789
+ <col align="left" valign="top">
790
+ <tbody>
791
+ <tr>
792
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
793
+ <td>a standard <code class="function">printf()</code> format string, but notice
794
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
795
+ </td>
796
+ </tr>
797
+ <tr>
798
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
799
+ <td>the arguments to insert in the output.
800
+ </td>
801
+ </tr>
802
+ <tr>
803
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
804
+ <td> the number of bytes printed.
805
+
806
+ </td>
807
+ </tr>
808
+ </tbody>
809
+ </table></div>
810
+ <p class="since">Since 2.2</p>
811
+ </div>
812
+ <hr>
813
+ <div class="refsect2">
814
+ <a name="g-vprintf"></a><h3>g_vprintf ()</h3>
815
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_vprintf (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
816
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
817
+ <p>
818
+ An implementation of the standard <code class="function">vprintf()</code> function which supports
819
+ positional parameters, as specified in the Single Unix Specification.
820
+ </p>
821
+ <div class="variablelist"><table border="0">
822
+ <col align="left" valign="top">
823
+ <tbody>
824
+ <tr>
825
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
826
+ <td>a standard <code class="function">printf()</code> format string, but notice
827
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
828
+ </td>
829
+ </tr>
830
+ <tr>
831
+ <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
832
+ <td>the list of arguments to insert in the output.
833
+ </td>
834
+ </tr>
835
+ <tr>
836
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
837
+ <td> the number of bytes printed.
838
+
839
+ </td>
840
+ </tr>
841
+ </tbody>
842
+ </table></div>
843
+ <p class="since">Since 2.2</p>
844
+ </div>
845
+ <hr>
846
+ <div class="refsect2">
847
+ <a name="g-fprintf"></a><h3>g_fprintf ()</h3>
848
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_fprintf (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
849
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
850
+ <em class="parameter"><code>...</code></em>);</pre>
851
+ <p>
852
+ An implementation of the standard <code class="function">fprintf()</code> function which supports
853
+ positional parameters, as specified in the Single Unix Specification.
854
+ </p>
855
+ <div class="variablelist"><table border="0">
856
+ <col align="left" valign="top">
857
+ <tbody>
858
+ <tr>
859
+ <td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
860
+ <td>the stream to write to.
861
+ </td>
862
+ </tr>
863
+ <tr>
864
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
865
+ <td>a standard <code class="function">printf()</code> format string, but notice
866
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
867
+ </td>
868
+ </tr>
869
+ <tr>
870
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
871
+ <td>the arguments to insert in the output.
872
+ </td>
873
+ </tr>
874
+ <tr>
875
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
876
+ <td> the number of bytes printed.
877
+
878
+ </td>
879
+ </tr>
880
+ </tbody>
881
+ </table></div>
882
+ <p class="since">Since 2.2</p>
883
+ </div>
884
+ <hr>
885
+ <div class="refsect2">
886
+ <a name="g-vfprintf"></a><h3>g_vfprintf ()</h3>
887
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_vfprintf (<em class="parameter"><code><span class="type">FILE</span> *file</code></em>,
888
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
889
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
890
+ <p>
891
+ An implementation of the standard <code class="function">fprintf()</code> function which supports
892
+ positional parameters, as specified in the Single Unix Specification.
893
+ </p>
894
+ <div class="variablelist"><table border="0">
895
+ <col align="left" valign="top">
896
+ <tbody>
897
+ <tr>
898
+ <td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
899
+ <td>the stream to write to.
900
+ </td>
901
+ </tr>
902
+ <tr>
903
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
904
+ <td>a standard <code class="function">printf()</code> format string, but notice
905
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
906
+ </td>
907
+ </tr>
908
+ <tr>
909
+ <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
910
+ <td>the list of arguments to insert in the output.
911
+ </td>
912
+ </tr>
913
+ <tr>
914
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
915
+ <td> the number of bytes printed.
916
+
917
+ </td>
918
+ </tr>
919
+ </tbody>
920
+ </table></div>
921
+ <p class="since">Since 2.2</p>
922
+ </div>
923
+ <hr>
924
+ <div class="refsect2">
925
+ <a name="g-sprintf"></a><h3>g_sprintf ()</h3>
926
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_sprintf (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
927
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
928
+ <em class="parameter"><code>...</code></em>);</pre>
929
+ <p>
930
+ An implementation of the standard <code class="function">sprintf()</code> function which supports
931
+ positional parameters, as specified in the Single Unix Specification.
932
+ </p>
933
+ <p>
934
+ Note that it is usually better to use <a class="link" href="glib-String-Utility-Functions.html#g-snprintf" title="g_snprintf ()"><code class="function">g_snprintf()</code></a>, to avoid the
935
+ risk of buffer overflow.
936
+ </p>
937
+ <p>
938
+ See also <a class="link" href="glib-String-Utility-Functions.html#g-strdup-printf" title="g_strdup_printf ()"><code class="function">g_strdup_printf()</code></a>.
939
+ </p>
940
+ <div class="variablelist"><table border="0">
941
+ <col align="left" valign="top">
942
+ <tbody>
943
+ <tr>
944
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
945
+ <td>A pointer to a memory buffer to contain the resulting string. It
946
+ is up to the caller to ensure that the allocated buffer is large
947
+ enough to hold the formatted result
948
+ </td>
949
+ </tr>
950
+ <tr>
951
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
952
+ <td>a standard <code class="function">printf()</code> format string, but notice
953
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
954
+ </td>
955
+ </tr>
956
+ <tr>
957
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
958
+ <td>the arguments to insert in the output.
959
+ </td>
960
+ </tr>
961
+ <tr>
962
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
963
+ <td> the number of bytes printed.
964
+
965
+ </td>
966
+ </tr>
967
+ </tbody>
968
+ </table></div>
969
+ <p class="since">Since 2.2</p>
970
+ </div>
971
+ <hr>
972
+ <div class="refsect2">
973
+ <a name="g-vsprintf"></a><h3>g_vsprintf ()</h3>
974
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_vsprintf (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
975
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
976
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
977
+ <p>
978
+ An implementation of the standard <code class="function">vsprintf()</code> function which supports
979
+ positional parameters, as specified in the Single Unix Specification.
980
+ </p>
981
+ <div class="variablelist"><table border="0">
982
+ <col align="left" valign="top">
983
+ <tbody>
984
+ <tr>
985
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
986
+ <td>the buffer to hold the output.
987
+ </td>
988
+ </tr>
989
+ <tr>
990
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
991
+ <td>a standard <code class="function">printf()</code> format string, but notice
992
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
993
+ </td>
994
+ </tr>
995
+ <tr>
996
+ <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
997
+ <td>the list of arguments to insert in the output.
998
+ </td>
999
+ </tr>
1000
+ <tr>
1001
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1002
+ <td> the number of bytes printed.
1003
+
1004
+ </td>
1005
+ </tr>
1006
+ </tbody>
1007
+ </table></div>
1008
+ <p class="since">Since 2.2</p>
1009
+ </div>
1010
+ <hr>
1011
+ <div class="refsect2">
1012
+ <a name="g-snprintf"></a><h3>g_snprintf ()</h3>
1013
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_snprintf (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
1014
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> n</code></em>,
1015
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
1016
+ <em class="parameter"><code>...</code></em>);</pre>
1017
+ <p>
1018
+ A safer form of the standard <code class="function">sprintf()</code> function. The output is guaranteed
1019
+ to not exceed <em class="parameter"><code>n</code></em> characters (including the terminating nul character), so
1020
+ it is easy to ensure that a buffer overflow cannot occur.
1021
+ </p>
1022
+ <p>
1023
+ See also <a class="link" href="glib-String-Utility-Functions.html#g-strdup-printf" title="g_strdup_printf ()"><code class="function">g_strdup_printf()</code></a>.
1024
+ </p>
1025
+ <p>
1026
+ In versions of GLib prior to 1.2.3, this function may return -1 if the
1027
+ output was truncated, and the truncated string may not be nul-terminated.
1028
+ In versions prior to 1.3.12, this function returns the length of the output
1029
+ string.
1030
+ </p>
1031
+ <p>
1032
+ The return value of <a class="link" href="glib-String-Utility-Functions.html#g-snprintf" title="g_snprintf ()"><code class="function">g_snprintf()</code></a> conforms to the <code class="function">snprintf()</code>
1033
+ function as standardized in ISO C99. Note that this is different from
1034
+ traditional <code class="function">snprintf()</code>, which returns the length of the output string.
1035
+ </p>
1036
+ <p>
1037
+ The format string may contain positional parameters, as specified in
1038
+ the Single Unix Specification.
1039
+ </p>
1040
+ <div class="variablelist"><table border="0">
1041
+ <col align="left" valign="top">
1042
+ <tbody>
1043
+ <tr>
1044
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1045
+ <td>the buffer to hold the output.
1046
+ </td>
1047
+ </tr>
1048
+ <tr>
1049
+ <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
1050
+ <td>the maximum number of bytes to produce (including the
1051
+ terminating nul character).
1052
+ </td>
1053
+ </tr>
1054
+ <tr>
1055
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1056
+ <td>a standard <code class="function">printf()</code> format string, but notice
1057
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
1058
+ </td>
1059
+ </tr>
1060
+ <tr>
1061
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1062
+ <td>the arguments to insert in the output.
1063
+ </td>
1064
+ </tr>
1065
+ <tr>
1066
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1067
+ <td> the number of bytes which would be produced if the buffer
1068
+ was large enough.
1069
+ </td>
1070
+ </tr>
1071
+ </tbody>
1072
+ </table></div>
1073
+ </div>
1074
+ <hr>
1075
+ <div class="refsect2">
1076
+ <a name="g-vsnprintf"></a><h3>g_vsnprintf ()</h3>
1077
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_vsnprintf (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
1078
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> n</code></em>,
1079
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
1080
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
1081
+ <p>
1082
+ A safer form of the standard <code class="function">vsprintf()</code> function. The output is guaranteed
1083
+ to not exceed <em class="parameter"><code>n</code></em> characters (including the terminating nul character), so
1084
+ it is easy to ensure that a buffer overflow cannot occur.
1085
+ </p>
1086
+ <p>
1087
+ See also <a class="link" href="glib-String-Utility-Functions.html#g-strdup-vprintf" title="g_strdup_vprintf ()"><code class="function">g_strdup_vprintf()</code></a>.
1088
+ </p>
1089
+ <p>
1090
+ In versions of GLib prior to 1.2.3, this function may return -1 if the
1091
+ output was truncated, and the truncated string may not be nul-terminated.
1092
+ In versions prior to 1.3.12, this function returns the length of the output
1093
+ string.
1094
+ </p>
1095
+ <p>
1096
+ The return value of <a class="link" href="glib-String-Utility-Functions.html#g-vsnprintf" title="g_vsnprintf ()"><code class="function">g_vsnprintf()</code></a> conforms to the <code class="function">vsnprintf()</code> function
1097
+ as standardized in ISO C99. Note that this is different from traditional
1098
+ <code class="function">vsnprintf()</code>, which returns the length of the output string.
1099
+ </p>
1100
+ <p>
1101
+ The format string may contain positional parameters, as specified in
1102
+ the Single Unix Specification.
1103
+ </p>
1104
+ <div class="variablelist"><table border="0">
1105
+ <col align="left" valign="top">
1106
+ <tbody>
1107
+ <tr>
1108
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1109
+ <td>the buffer to hold the output.
1110
+ </td>
1111
+ </tr>
1112
+ <tr>
1113
+ <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
1114
+ <td>the maximum number of bytes to produce (including the
1115
+ terminating nul character).
1116
+ </td>
1117
+ </tr>
1118
+ <tr>
1119
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1120
+ <td>a standard <code class="function">printf()</code> format string, but notice
1121
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
1122
+ </td>
1123
+ </tr>
1124
+ <tr>
1125
+ <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
1126
+ <td>the list of arguments to insert in the output.
1127
+ </td>
1128
+ </tr>
1129
+ <tr>
1130
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1131
+ <td> the number of bytes which would be produced if the buffer
1132
+ was large enough.
1133
+ </td>
1134
+ </tr>
1135
+ </tbody>
1136
+ </table></div>
1137
+ </div>
1138
+ <hr>
1139
+ <div class="refsect2">
1140
+ <a name="g-vasprintf"></a><h3>g_vasprintf ()</h3>
1141
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_vasprintf (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **string</code></em>,
1142
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> const *format</code></em>,
1143
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
1144
+ <p>
1145
+ An implementation of the GNU <code class="function">vasprintf()</code> function which supports
1146
+ positional parameters, as specified in the Single Unix Specification.
1147
+ This function is similar to <a class="link" href="glib-String-Utility-Functions.html#g-vsprintf" title="g_vsprintf ()"><code class="function">g_vsprintf()</code></a>, except that it allocates a
1148
+ string to hold the output, instead of putting the output in a buffer
1149
+ you allocate in advance.
1150
+ </p>
1151
+ <div class="variablelist"><table border="0">
1152
+ <col align="left" valign="top">
1153
+ <tbody>
1154
+ <tr>
1155
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1156
+ <td>the return location for the newly-allocated string.
1157
+ </td>
1158
+ </tr>
1159
+ <tr>
1160
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1161
+ <td>a standard <code class="function">printf()</code> format string, but notice
1162
+ <a class="link" href="glib-String-Utility-Functions.html#string-precision">string precision pitfalls</a>.
1163
+ </td>
1164
+ </tr>
1165
+ <tr>
1166
+ <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
1167
+ <td>the list of arguments to insert in the output.
1168
+ </td>
1169
+ </tr>
1170
+ <tr>
1171
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1172
+ <td> the number of bytes printed.
1173
+
1174
+ </td>
1175
+ </tr>
1176
+ </tbody>
1177
+ </table></div>
1178
+ <p class="since">Since 2.4</p>
1179
+ </div>
1180
+ <hr>
1181
+ <div class="refsect2">
1182
+ <a name="g-printf-string-upper-bound"></a><h3>g_printf_string_upper_bound ()</h3>
1183
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> g_printf_string_upper_bound (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
1184
+ <em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
1185
+ <p>
1186
+ Calculates the maximum space needed to store the output of the <code class="function">sprintf()</code>
1187
+ function.
1188
+ </p>
1189
+ <div class="variablelist"><table border="0">
1190
+ <col align="left" valign="top">
1191
+ <tbody>
1192
+ <tr>
1193
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1194
+ <td>the format string. See the <code class="function">printf()</code> documentation.
1195
+ </td>
1196
+ </tr>
1197
+ <tr>
1198
+ <td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
1199
+ <td>the parameters to be inserted into the format string.
1200
+ </td>
1201
+ </tr>
1202
+ <tr>
1203
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1204
+ <td>the maximum space needed to store the formatted string.
1205
+ </td>
1206
+ </tr>
1207
+ </tbody>
1208
+ </table></div>
1209
+ </div>
1210
+ <hr>
1211
+ <div class="refsect2">
1212
+ <a name="g-ascii-isalnum"></a><h3>g_ascii_isalnum ()</h3>
1213
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_isalnum (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1214
+ <p>
1215
+ Determines whether a character is alphanumeric.
1216
+ </p>
1217
+ <p>
1218
+ Unlike the standard C library <code class="function">isalnum()</code> function, this only
1219
+ recognizes standard ASCII letters and ignores the locale, returning
1220
+ <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1221
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1222
+ so don't call it on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a
1223
+ possibly non-ASCII character in.
1224
+ </p>
1225
+ <div class="variablelist"><table border="0">
1226
+ <col align="left" valign="top">
1227
+ <tbody>
1228
+ <tr>
1229
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1230
+ <td>any character
1231
+ </td>
1232
+ </tr>
1233
+ <tr>
1234
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1235
+ <td>
1236
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII alphanumeric character
1237
+ </td>
1238
+ </tr>
1239
+ </tbody>
1240
+ </table></div>
1241
+ </div>
1242
+ <hr>
1243
+ <div class="refsect2">
1244
+ <a name="g-ascii-isalpha"></a><h3>g_ascii_isalpha ()</h3>
1245
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_isalpha (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1246
+ <p>
1247
+ Determines whether a character is alphabetic (i.e. a letter).
1248
+ </p>
1249
+ <p>
1250
+ Unlike the standard C library <code class="function">isalpha()</code> function, this only
1251
+ recognizes standard ASCII letters and ignores the locale, returning
1252
+ <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1253
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1254
+ so don't call it on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a
1255
+ possibly non-ASCII character in.
1256
+ </p>
1257
+ <div class="variablelist"><table border="0">
1258
+ <col align="left" valign="top">
1259
+ <tbody>
1260
+ <tr>
1261
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1262
+ <td>any character
1263
+ </td>
1264
+ </tr>
1265
+ <tr>
1266
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1267
+ <td>
1268
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII alphabetic character
1269
+ </td>
1270
+ </tr>
1271
+ </tbody>
1272
+ </table></div>
1273
+ </div>
1274
+ <hr>
1275
+ <div class="refsect2">
1276
+ <a name="g-ascii-iscntrl"></a><h3>g_ascii_iscntrl ()</h3>
1277
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_iscntrl (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1278
+ <p>
1279
+ Determines whether a character is a control character.
1280
+ </p>
1281
+ <p>
1282
+ Unlike the standard C library <code class="function">iscntrl()</code> function, this only
1283
+ recognizes standard ASCII control characters and ignores the locale,
1284
+ returning <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1285
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1286
+ so don't call it on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a
1287
+ possibly non-ASCII character in.
1288
+ </p>
1289
+ <div class="variablelist"><table border="0">
1290
+ <col align="left" valign="top">
1291
+ <tbody>
1292
+ <tr>
1293
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1294
+ <td>any character
1295
+ </td>
1296
+ </tr>
1297
+ <tr>
1298
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1299
+ <td>
1300
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII control character.
1301
+ </td>
1302
+ </tr>
1303
+ </tbody>
1304
+ </table></div>
1305
+ </div>
1306
+ <hr>
1307
+ <div class="refsect2">
1308
+ <a name="g-ascii-isdigit"></a><h3>g_ascii_isdigit ()</h3>
1309
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_isdigit (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1310
+ <p>
1311
+ Determines whether a character is digit (0-9).
1312
+ </p>
1313
+ <p>
1314
+ Unlike the standard C library <code class="function">isdigit()</code> function,
1315
+ this takes a <span class="type">char</span>, not an <span class="type">int</span>, so don't call it
1316
+ on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a possibly
1317
+ non-ASCII character in.
1318
+ </p>
1319
+ <div class="variablelist"><table border="0">
1320
+ <col align="left" valign="top">
1321
+ <tbody>
1322
+ <tr>
1323
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1324
+ <td>any character
1325
+ </td>
1326
+ </tr>
1327
+ <tr>
1328
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1329
+ <td>
1330
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII digit.
1331
+ </td>
1332
+ </tr>
1333
+ </tbody>
1334
+ </table></div>
1335
+ </div>
1336
+ <hr>
1337
+ <div class="refsect2">
1338
+ <a name="g-ascii-isgraph"></a><h3>g_ascii_isgraph ()</h3>
1339
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_isgraph (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1340
+ <p>
1341
+ Determines whether a character is a printing character and not a space.
1342
+ </p>
1343
+ <p>
1344
+ Unlike the standard C library <code class="function">isgraph()</code> function,
1345
+ this only recognizes standard ASCII characters and ignores the locale,
1346
+ returning <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1347
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1348
+ so don't call it on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a
1349
+ possibly non-ASCII character in.
1350
+ </p>
1351
+ <div class="variablelist"><table border="0">
1352
+ <col align="left" valign="top">
1353
+ <tbody>
1354
+ <tr>
1355
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1356
+ <td>any character
1357
+ </td>
1358
+ </tr>
1359
+ <tr>
1360
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1361
+ <td>
1362
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII printing character other than space.
1363
+ </td>
1364
+ </tr>
1365
+ </tbody>
1366
+ </table></div>
1367
+ </div>
1368
+ <hr>
1369
+ <div class="refsect2">
1370
+ <a name="g-ascii-islower"></a><h3>g_ascii_islower ()</h3>
1371
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_islower (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1372
+ <p>
1373
+ Determines whether a character is an ASCII lower case letter.
1374
+ </p>
1375
+ <p>
1376
+ Unlike the standard C library <code class="function">islower()</code> function,
1377
+ this only recognizes standard ASCII letters and ignores the locale,
1378
+ returning <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1379
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1380
+ so don't call it on <code class="literal">EOF</code> but no need to worry about casting to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a>
1381
+ before passing a possibly non-ASCII character in.
1382
+ </p>
1383
+ <div class="variablelist"><table border="0">
1384
+ <col align="left" valign="top">
1385
+ <tbody>
1386
+ <tr>
1387
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1388
+ <td>any character
1389
+ </td>
1390
+ </tr>
1391
+ <tr>
1392
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1393
+ <td>
1394
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII lower case letter
1395
+ </td>
1396
+ </tr>
1397
+ </tbody>
1398
+ </table></div>
1399
+ </div>
1400
+ <hr>
1401
+ <div class="refsect2">
1402
+ <a name="g-ascii-isprint"></a><h3>g_ascii_isprint ()</h3>
1403
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_isprint (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1404
+ <p>
1405
+ Determines whether a character is a printing character.
1406
+ </p>
1407
+ <p>
1408
+ Unlike the standard C library <code class="function">isprint()</code> function,
1409
+ this only recognizes standard ASCII characters and ignores the locale,
1410
+ returning <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1411
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1412
+ so don't call it on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a
1413
+ possibly non-ASCII character in.
1414
+ </p>
1415
+ <div class="variablelist"><table border="0">
1416
+ <col align="left" valign="top">
1417
+ <tbody>
1418
+ <tr>
1419
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1420
+ <td>any character
1421
+ </td>
1422
+ </tr>
1423
+ <tr>
1424
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1425
+ <td>
1426
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII printing character.
1427
+ </td>
1428
+ </tr>
1429
+ </tbody>
1430
+ </table></div>
1431
+ </div>
1432
+ <hr>
1433
+ <div class="refsect2">
1434
+ <a name="g-ascii-ispunct"></a><h3>g_ascii_ispunct ()</h3>
1435
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_ispunct (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1436
+ <p>
1437
+ Determines whether a character is a punctuation character.
1438
+ </p>
1439
+ <p>
1440
+ Unlike the standard C library <code class="function">ispunct()</code> function,
1441
+ this only recognizes standard ASCII letters and ignores the locale,
1442
+ returning <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1443
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1444
+ so don't call it on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a
1445
+ possibly non-ASCII character in.
1446
+ </p>
1447
+ <div class="variablelist"><table border="0">
1448
+ <col align="left" valign="top">
1449
+ <tbody>
1450
+ <tr>
1451
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1452
+ <td>any character
1453
+ </td>
1454
+ </tr>
1455
+ <tr>
1456
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1457
+ <td>
1458
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII punctuation character.
1459
+ </td>
1460
+ </tr>
1461
+ </tbody>
1462
+ </table></div>
1463
+ </div>
1464
+ <hr>
1465
+ <div class="refsect2">
1466
+ <a name="g-ascii-isspace"></a><h3>g_ascii_isspace ()</h3>
1467
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_isspace (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1468
+ <p>
1469
+ Determines whether a character is a white-space character.
1470
+ </p>
1471
+ <p>
1472
+ Unlike the standard C library <code class="function">isspace()</code> function,
1473
+ this only recognizes standard ASCII white-space and ignores the locale,
1474
+ returning <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1475
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1476
+ so don't call it on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a
1477
+ possibly non-ASCII character in.
1478
+ </p>
1479
+ <div class="variablelist"><table border="0">
1480
+ <col align="left" valign="top">
1481
+ <tbody>
1482
+ <tr>
1483
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1484
+ <td>any character
1485
+ </td>
1486
+ </tr>
1487
+ <tr>
1488
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1489
+ <td>
1490
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII white-space character
1491
+ </td>
1492
+ </tr>
1493
+ </tbody>
1494
+ </table></div>
1495
+ </div>
1496
+ <hr>
1497
+ <div class="refsect2">
1498
+ <a name="g-ascii-isupper"></a><h3>g_ascii_isupper ()</h3>
1499
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_isupper (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1500
+ <p>
1501
+ Determines whether a character is an ASCII upper case letter.
1502
+ </p>
1503
+ <p>
1504
+ Unlike the standard C library <code class="function">isupper()</code> function,
1505
+ this only recognizes standard ASCII letters and ignores the locale,
1506
+ returning <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all non-ASCII characters. Also unlike the standard
1507
+ library function, this takes a <span class="type">char</span>, not an <span class="type">int</span>,
1508
+ so don't call it on <code class="literal">EOF</code> but no need to worry about casting to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a>
1509
+ before passing a possibly non-ASCII character in.
1510
+ </p>
1511
+ <div class="variablelist"><table border="0">
1512
+ <col align="left" valign="top">
1513
+ <tbody>
1514
+ <tr>
1515
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1516
+ <td>any character
1517
+ </td>
1518
+ </tr>
1519
+ <tr>
1520
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1521
+ <td>
1522
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII upper case letter
1523
+ </td>
1524
+ </tr>
1525
+ </tbody>
1526
+ </table></div>
1527
+ </div>
1528
+ <hr>
1529
+ <div class="refsect2">
1530
+ <a name="g-ascii-isxdigit"></a><h3>g_ascii_isxdigit ()</h3>
1531
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_ascii_isxdigit (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1532
+ <p>
1533
+ Determines whether a character is a hexadecimal-digit character.
1534
+ </p>
1535
+ <p>
1536
+ Unlike the standard C library <code class="function">isxdigit()</code> function,
1537
+ this takes a <span class="type">char</span>, not an <span class="type">int</span>, so
1538
+ don't call it on <code class="literal">EOF</code> but no need to cast to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> before passing a
1539
+ possibly non-ASCII character in.
1540
+ </p>
1541
+ <div class="variablelist"><table border="0">
1542
+ <col align="left" valign="top">
1543
+ <tbody>
1544
+ <tr>
1545
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1546
+ <td>any character
1547
+ </td>
1548
+ </tr>
1549
+ <tr>
1550
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1551
+ <td>
1552
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>c</code></em> is an ASCII hexadecimal-digit character.
1553
+ </td>
1554
+ </tr>
1555
+ </tbody>
1556
+ </table></div>
1557
+ </div>
1558
+ <hr>
1559
+ <div class="refsect2">
1560
+ <a name="g-ascii-digit-value"></a><h3>g_ascii_digit_value ()</h3>
1561
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_ascii_digit_value (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1562
+ <p>
1563
+ Determines the numeric value of a character as a decimal
1564
+ digit. Differs from <a class="link" href="glib-Unicode-Manipulation.html#g-unichar-digit-value" title="g_unichar_digit_value ()"><code class="function">g_unichar_digit_value()</code></a> because it takes
1565
+ a char, so there's no worry about sign extension if characters
1566
+ are signed.
1567
+ </p>
1568
+ <div class="variablelist"><table border="0">
1569
+ <col align="left" valign="top">
1570
+ <tbody>
1571
+ <tr>
1572
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1573
+ <td>an ASCII character.
1574
+ </td>
1575
+ </tr>
1576
+ <tr>
1577
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1578
+ <td> If <em class="parameter"><code>c</code></em> is a decimal digit (according to
1579
+ <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isdigit" title="g_ascii_isdigit ()"><code class="function">g_ascii_isdigit()</code></a>), its numeric value. Otherwise, -1.
1580
+ </td>
1581
+ </tr>
1582
+ </tbody>
1583
+ </table></div>
1584
+ </div>
1585
+ <hr>
1586
+ <div class="refsect2">
1587
+ <a name="g-ascii-xdigit-value"></a><h3>g_ascii_xdigit_value ()</h3>
1588
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_ascii_xdigit_value (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1589
+ <p>
1590
+ Determines the numeric value of a character as a hexidecimal
1591
+ digit. Differs from <a class="link" href="glib-Unicode-Manipulation.html#g-unichar-xdigit-value" title="g_unichar_xdigit_value ()"><code class="function">g_unichar_xdigit_value()</code></a> because it takes
1592
+ a char, so there's no worry about sign extension if characters
1593
+ are signed.
1594
+ </p>
1595
+ <div class="variablelist"><table border="0">
1596
+ <col align="left" valign="top">
1597
+ <tbody>
1598
+ <tr>
1599
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1600
+ <td>an ASCII character.
1601
+ </td>
1602
+ </tr>
1603
+ <tr>
1604
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1605
+ <td> If <em class="parameter"><code>c</code></em> is a hex digit (according to
1606
+ <a class="link" href="glib-String-Utility-Functions.html#g-ascii-isxdigit" title="g_ascii_isxdigit ()"><code class="function">g_ascii_isxdigit()</code></a>), its numeric value. Otherwise, -1.
1607
+ </td>
1608
+ </tr>
1609
+ </tbody>
1610
+ </table></div>
1611
+ </div>
1612
+ <hr>
1613
+ <div class="refsect2">
1614
+ <a name="g-ascii-strcasecmp"></a><h3>g_ascii_strcasecmp ()</h3>
1615
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_ascii_strcasecmp (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>,
1616
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>);</pre>
1617
+ <p>
1618
+ Compare two strings, ignoring the case of ASCII characters.
1619
+ </p>
1620
+ <p>
1621
+ Unlike the BSD <code class="function">strcasecmp()</code> function, this only recognizes standard
1622
+ ASCII letters and ignores the locale, treating all non-ASCII
1623
+ bytes as if they are not letters.
1624
+ </p>
1625
+ <p>
1626
+ This function should be used only on strings that are known to be
1627
+ in encodings where the bytes corresponding to ASCII letters always
1628
+ represent themselves. This includes UTF-8 and the ISO-8859-*
1629
+ charsets, but not for instance double-byte encodings like the
1630
+ Windows Codepage 932, where the trailing bytes of double-byte
1631
+ characters include all ASCII letters. If you compare two CP932
1632
+ strings using this function, you will get false matches.
1633
+ </p>
1634
+ <div class="variablelist"><table border="0">
1635
+ <col align="left" valign="top">
1636
+ <tbody>
1637
+ <tr>
1638
+ <td><p><span class="term"><em class="parameter"><code>s1</code></em> :</span></p></td>
1639
+ <td>string to compare with <em class="parameter"><code>s2</code></em>.
1640
+ </td>
1641
+ </tr>
1642
+ <tr>
1643
+ <td><p><span class="term"><em class="parameter"><code>s2</code></em> :</span></p></td>
1644
+ <td>string to compare with <em class="parameter"><code>s1</code></em>.
1645
+ </td>
1646
+ </tr>
1647
+ <tr>
1648
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1649
+ <td> 0 if the strings match, a negative value if <em class="parameter"><code>s1</code></em> &lt; <em class="parameter"><code>s2</code></em>,
1650
+ or a positive value if <em class="parameter"><code>s1</code></em> &gt; <em class="parameter"><code>s2</code></em>.
1651
+ </td>
1652
+ </tr>
1653
+ </tbody>
1654
+ </table></div>
1655
+ </div>
1656
+ <hr>
1657
+ <div class="refsect2">
1658
+ <a name="g-ascii-strncasecmp"></a><h3>g_ascii_strncasecmp ()</h3>
1659
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_ascii_strncasecmp (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>,
1660
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>,
1661
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n</code></em>);</pre>
1662
+ <p>
1663
+ Compare <em class="parameter"><code>s1</code></em> and <em class="parameter"><code>s2</code></em>, ignoring the case of ASCII characters and any
1664
+ characters after the first <em class="parameter"><code>n</code></em> in each string.
1665
+ </p>
1666
+ <p>
1667
+ Unlike the BSD <code class="function">strcasecmp()</code> function, this only recognizes standard
1668
+ ASCII letters and ignores the locale, treating all non-ASCII
1669
+ characters as if they are not letters.
1670
+ </p>
1671
+ <p>
1672
+ The same warning as in <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strcasecmp" title="g_ascii_strcasecmp ()"><code class="function">g_ascii_strcasecmp()</code></a> applies: Use this
1673
+ function only on strings known to be in encodings where bytes
1674
+ corresponding to ASCII letters always represent themselves.
1675
+ </p>
1676
+ <div class="variablelist"><table border="0">
1677
+ <col align="left" valign="top">
1678
+ <tbody>
1679
+ <tr>
1680
+ <td><p><span class="term"><em class="parameter"><code>s1</code></em> :</span></p></td>
1681
+ <td>string to compare with <em class="parameter"><code>s2</code></em>.
1682
+ </td>
1683
+ </tr>
1684
+ <tr>
1685
+ <td><p><span class="term"><em class="parameter"><code>s2</code></em> :</span></p></td>
1686
+ <td>string to compare with <em class="parameter"><code>s1</code></em>.
1687
+ </td>
1688
+ </tr>
1689
+ <tr>
1690
+ <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
1691
+ <td>number of characters to compare.
1692
+ </td>
1693
+ </tr>
1694
+ <tr>
1695
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1696
+ <td> 0 if the strings match, a negative value if <em class="parameter"><code>s1</code></em> &lt; <em class="parameter"><code>s2</code></em>,
1697
+ or a positive value if <em class="parameter"><code>s1</code></em> &gt; <em class="parameter"><code>s2</code></em>.
1698
+ </td>
1699
+ </tr>
1700
+ </tbody>
1701
+ </table></div>
1702
+ </div>
1703
+ <hr>
1704
+ <div class="refsect2">
1705
+ <a name="g-ascii-strup"></a><h3>g_ascii_strup ()</h3>
1706
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_ascii_strup (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
1707
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> len</code></em>);</pre>
1708
+ <p>
1709
+ Converts all lower case ASCII letters to upper case ASCII letters.
1710
+ </p>
1711
+ <div class="variablelist"><table border="0">
1712
+ <col align="left" valign="top">
1713
+ <tbody>
1714
+ <tr>
1715
+ <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
1716
+ <td>a string.
1717
+ </td>
1718
+ </tr>
1719
+ <tr>
1720
+ <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
1721
+ <td>length of <em class="parameter"><code>str</code></em> in bytes, or -1 if <em class="parameter"><code>str</code></em> is nul-terminated.
1722
+ </td>
1723
+ </tr>
1724
+ <tr>
1725
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1726
+ <td> a newly allocated string, with all the lower case
1727
+ characters in <em class="parameter"><code>str</code></em> converted to upper case, with
1728
+ semantics that exactly match <a class="link" href="glib-String-Utility-Functions.html#g-ascii-toupper" title="g_ascii_toupper ()"><code class="function">g_ascii_toupper()</code></a>. (Note
1729
+ that this is unlike the old <a class="link" href="glib-String-Utility-Functions.html#g-strup" title="g_strup ()"><code class="function">g_strup()</code></a>, which modified
1730
+ the string in place.)
1731
+ </td>
1732
+ </tr>
1733
+ </tbody>
1734
+ </table></div>
1735
+ </div>
1736
+ <hr>
1737
+ <div class="refsect2">
1738
+ <a name="g-ascii-strdown"></a><h3>g_ascii_strdown ()</h3>
1739
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_ascii_strdown (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *str</code></em>,
1740
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> len</code></em>);</pre>
1741
+ <p>
1742
+ Converts all upper case ASCII letters to lower case ASCII letters.
1743
+ </p>
1744
+ <div class="variablelist"><table border="0">
1745
+ <col align="left" valign="top">
1746
+ <tbody>
1747
+ <tr>
1748
+ <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
1749
+ <td>a string.
1750
+ </td>
1751
+ </tr>
1752
+ <tr>
1753
+ <td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
1754
+ <td>length of <em class="parameter"><code>str</code></em> in bytes, or -1 if <em class="parameter"><code>str</code></em> is nul-terminated.
1755
+ </td>
1756
+ </tr>
1757
+ <tr>
1758
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1759
+ <td> a newly-allocated string, with all the upper case
1760
+ characters in <em class="parameter"><code>str</code></em> converted to lower case, with
1761
+ semantics that exactly match <a class="link" href="glib-String-Utility-Functions.html#g-ascii-tolower" title="g_ascii_tolower ()"><code class="function">g_ascii_tolower()</code></a>. (Note
1762
+ that this is unlike the old <a class="link" href="glib-String-Utility-Functions.html#g-strdown" title="g_strdown ()"><code class="function">g_strdown()</code></a>, which modified
1763
+ the string in place.)
1764
+ </td>
1765
+ </tr>
1766
+ </tbody>
1767
+ </table></div>
1768
+ </div>
1769
+ <hr>
1770
+ <div class="refsect2">
1771
+ <a name="g-ascii-tolower"></a><h3>g_ascii_tolower ()</h3>
1772
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> g_ascii_tolower (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1773
+ <p>
1774
+ Convert a character to ASCII lower case.
1775
+ </p>
1776
+ <p>
1777
+ Unlike the standard C library <code class="function">tolower()</code> function, this only
1778
+ recognizes standard ASCII letters and ignores the locale, returning
1779
+ all non-ASCII characters unchanged, even if they are lower case
1780
+ letters in a particular character set. Also unlike the standard
1781
+ library function, this takes and returns a char, not an int, so
1782
+ don't call it on <code class="literal">EOF</code> but no need to worry about casting to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a>
1783
+ before passing a possibly non-ASCII character in.
1784
+ </p>
1785
+ <div class="variablelist"><table border="0">
1786
+ <col align="left" valign="top">
1787
+ <tbody>
1788
+ <tr>
1789
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1790
+ <td>any character.
1791
+ </td>
1792
+ </tr>
1793
+ <tr>
1794
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1795
+ <td> the result of converting <em class="parameter"><code>c</code></em> to lower case.
1796
+ If <em class="parameter"><code>c</code></em> is not an ASCII upper case letter,
1797
+ <em class="parameter"><code>c</code></em> is returned unchanged.
1798
+ </td>
1799
+ </tr>
1800
+ </tbody>
1801
+ </table></div>
1802
+ </div>
1803
+ <hr>
1804
+ <div class="refsect2">
1805
+ <a name="g-ascii-toupper"></a><h3>g_ascii_toupper ()</h3>
1806
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> g_ascii_toupper (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> c</code></em>);</pre>
1807
+ <p>
1808
+ Convert a character to ASCII upper case.
1809
+ </p>
1810
+ <p>
1811
+ Unlike the standard C library <code class="function">toupper()</code> function, this only
1812
+ recognizes standard ASCII letters and ignores the locale, returning
1813
+ all non-ASCII characters unchanged, even if they are upper case
1814
+ letters in a particular character set. Also unlike the standard
1815
+ library function, this takes and returns a char, not an int, so
1816
+ don't call it on <code class="literal">EOF</code> but no need to worry about casting to <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a>
1817
+ before passing a possibly non-ASCII character in.
1818
+ </p>
1819
+ <div class="variablelist"><table border="0">
1820
+ <col align="left" valign="top">
1821
+ <tbody>
1822
+ <tr>
1823
+ <td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
1824
+ <td>any character.
1825
+ </td>
1826
+ </tr>
1827
+ <tr>
1828
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1829
+ <td> the result of converting <em class="parameter"><code>c</code></em> to upper case.
1830
+ If <em class="parameter"><code>c</code></em> is not an ASCII lower case letter,
1831
+ <em class="parameter"><code>c</code></em> is returned unchanged.
1832
+ </td>
1833
+ </tr>
1834
+ </tbody>
1835
+ </table></div>
1836
+ </div>
1837
+ <hr>
1838
+ <div class="refsect2">
1839
+ <a name="g-string-ascii-up"></a><h3>g_string_ascii_up ()</h3>
1840
+ <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> * g_string_ascii_up (<em class="parameter"><code><a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> *string</code></em>);</pre>
1841
+ <p>
1842
+ Converts all lower case ASCII letters to upper case ASCII letters.
1843
+ </p>
1844
+ <div class="variablelist"><table border="0">
1845
+ <col align="left" valign="top">
1846
+ <tbody>
1847
+ <tr>
1848
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1849
+ <td>a GString
1850
+ </td>
1851
+ </tr>
1852
+ <tr>
1853
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1854
+ <td> passed-in <em class="parameter"><code>string</code></em> pointer, with all the lower case
1855
+ characters converted to upper case in place, with
1856
+ semantics that exactly match <a class="link" href="glib-String-Utility-Functions.html#g-ascii-toupper" title="g_ascii_toupper ()"><code class="function">g_ascii_toupper()</code></a>.
1857
+ </td>
1858
+ </tr>
1859
+ </tbody>
1860
+ </table></div>
1861
+ </div>
1862
+ <hr>
1863
+ <div class="refsect2">
1864
+ <a name="g-string-ascii-down"></a><h3>g_string_ascii_down ()</h3>
1865
+ <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> * g_string_ascii_down (<em class="parameter"><code><a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> *string</code></em>);</pre>
1866
+ <p>
1867
+ Converts all upper case ASCII letters to lower case ASCII letters.
1868
+ </p>
1869
+ <div class="variablelist"><table border="0">
1870
+ <col align="left" valign="top">
1871
+ <tbody>
1872
+ <tr>
1873
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1874
+ <td>a GString
1875
+ </td>
1876
+ </tr>
1877
+ <tr>
1878
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1879
+ <td> passed-in <em class="parameter"><code>string</code></em> pointer, with all the upper case
1880
+ characters converted to lower case in place, with
1881
+ semantics that exactly match <a class="link" href="glib-String-Utility-Functions.html#g-ascii-tolower" title="g_ascii_tolower ()"><code class="function">g_ascii_tolower()</code></a>.
1882
+ </td>
1883
+ </tr>
1884
+ </tbody>
1885
+ </table></div>
1886
+ </div>
1887
+ <hr>
1888
+ <div class="refsect2">
1889
+ <a name="g-strup"></a><h3>g_strup ()</h3>
1890
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strup (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
1891
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1892
+ <h3 class="title">Warning</h3>
1893
+ <p><code class="literal">g_strup</code> has been deprecated since version 2.2 and should not be used in newly-written code. This function is totally broken for the reasons discussed
1894
+ in the <a class="link" href="glib-String-Utility-Functions.html#g-strncasecmp" title="g_strncasecmp ()"><code class="function">g_strncasecmp()</code></a> docs - use <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strup" title="g_ascii_strup ()"><code class="function">g_ascii_strup()</code></a> or <a class="link" href="glib-Unicode-Manipulation.html#g-utf8-strup" title="g_utf8_strup ()"><code class="function">g_utf8_strup()</code></a> instead.</p>
1895
+ </div>
1896
+ <p>
1897
+ Converts a string to upper case.
1898
+ </p>
1899
+ <div class="variablelist"><table border="0">
1900
+ <col align="left" valign="top">
1901
+ <tbody>
1902
+ <tr>
1903
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1904
+ <td>the string to convert.
1905
+ </td>
1906
+ </tr>
1907
+ <tr>
1908
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1909
+ <td> the string
1910
+
1911
+ </td>
1912
+ </tr>
1913
+ </tbody>
1914
+ </table></div>
1915
+ </div>
1916
+ <hr>
1917
+ <div class="refsect2">
1918
+ <a name="g-strdown"></a><h3>g_strdown ()</h3>
1919
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strdown (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
1920
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1921
+ <h3 class="title">Warning</h3>
1922
+ <p><code class="literal">g_strdown</code> has been deprecated since version 2.2 and should not be used in newly-written code. This function is totally broken for the reasons discussed
1923
+ in the <a class="link" href="glib-String-Utility-Functions.html#g-strncasecmp" title="g_strncasecmp ()"><code class="function">g_strncasecmp()</code></a> docs - use <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strdown" title="g_ascii_strdown ()"><code class="function">g_ascii_strdown()</code></a> or <a class="link" href="glib-Unicode-Manipulation.html#g-utf8-strdown" title="g_utf8_strdown ()"><code class="function">g_utf8_strdown()</code></a>
1924
+ instead.</p>
1925
+ </div>
1926
+ <p>
1927
+ Converts a string to lower case.
1928
+ </p>
1929
+ <div class="variablelist"><table border="0">
1930
+ <col align="left" valign="top">
1931
+ <tbody>
1932
+ <tr>
1933
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1934
+ <td>the string to convert.
1935
+ </td>
1936
+ </tr>
1937
+ <tr>
1938
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1939
+ <td> the string
1940
+
1941
+ </td>
1942
+ </tr>
1943
+ </tbody>
1944
+ </table></div>
1945
+ </div>
1946
+ <hr>
1947
+ <div class="refsect2">
1948
+ <a name="g-strcasecmp"></a><h3>g_strcasecmp ()</h3>
1949
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_strcasecmp (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>,
1950
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>);</pre>
1951
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1952
+ <h3 class="title">Warning</h3>
1953
+ <p><code class="literal">g_strcasecmp</code> has been deprecated since version 2.2 and should not be used in newly-written code. See <a class="link" href="glib-String-Utility-Functions.html#g-strncasecmp" title="g_strncasecmp ()"><code class="function">g_strncasecmp()</code></a> for a discussion of why this function
1954
+ is deprecated and how to replace it.</p>
1955
+ </div>
1956
+ <p>
1957
+ A case-insensitive string comparison, corresponding to the standard
1958
+ <code class="function">strcasecmp()</code> function on platforms which support it.
1959
+ </p>
1960
+ <div class="variablelist"><table border="0">
1961
+ <col align="left" valign="top">
1962
+ <tbody>
1963
+ <tr>
1964
+ <td><p><span class="term"><em class="parameter"><code>s1</code></em> :</span></p></td>
1965
+ <td>a string.
1966
+ </td>
1967
+ </tr>
1968
+ <tr>
1969
+ <td><p><span class="term"><em class="parameter"><code>s2</code></em> :</span></p></td>
1970
+ <td>a string to compare with <em class="parameter"><code>s1</code></em>.
1971
+ </td>
1972
+ </tr>
1973
+ <tr>
1974
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1975
+ <td> 0 if the strings match, a negative value if <em class="parameter"><code>s1</code></em> &lt; <em class="parameter"><code>s2</code></em>,
1976
+ or a positive value if <em class="parameter"><code>s1</code></em> &gt; <em class="parameter"><code>s2</code></em>.
1977
+
1978
+ </td>
1979
+ </tr>
1980
+ </tbody>
1981
+ </table></div>
1982
+ </div>
1983
+ <hr>
1984
+ <div class="refsect2">
1985
+ <a name="g-strncasecmp"></a><h3>g_strncasecmp ()</h3>
1986
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_strncasecmp (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s1</code></em>,
1987
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *s2</code></em>,
1988
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> n</code></em>);</pre>
1989
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1990
+ <h3 class="title">Warning</h3>
1991
+ <p><code class="literal">g_strncasecmp</code> has been deprecated since version 2.2 and should not be used in newly-written code. The problem with <a class="link" href="glib-String-Utility-Functions.html#g-strncasecmp" title="g_strncasecmp ()"><code class="function">g_strncasecmp()</code></a> is that it does the
1992
+ comparison by calling <code class="function">toupper()</code>/<code class="function">tolower()</code>. These functions are
1993
+ locale-specific and operate on single bytes. However, it is impossible
1994
+ to handle things correctly from an I18N standpoint by operating on
1995
+ bytes, since characters may be multibyte. Thus <a class="link" href="glib-String-Utility-Functions.html#g-strncasecmp" title="g_strncasecmp ()"><code class="function">g_strncasecmp()</code></a> is
1996
+ broken if your string is guaranteed to be ASCII, since it's
1997
+ locale-sensitive, and it's broken if your string is localized, since
1998
+ it doesn't work on many encodings at all, including UTF-8, EUC-JP,
1999
+ etc.
2000
+ </p>
2001
+ <p>
2002
+ There are therefore two replacement functions: <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strncasecmp" title="g_ascii_strncasecmp ()"><code class="function">g_ascii_strncasecmp()</code></a>,
2003
+ which only works on ASCII and is not locale-sensitive, and
2004
+ <a class="link" href="glib-Unicode-Manipulation.html#g-utf8-casefold" title="g_utf8_casefold ()"><code class="function">g_utf8_casefold()</code></a>, which is good for case-insensitive sorting of UTF-8.</p>
2005
+ </div>
2006
+ <p>
2007
+ A case-insensitive string comparison, corresponding to the standard
2008
+ <code class="function">strncasecmp()</code> function on platforms which support it.
2009
+ It is similar to <a class="link" href="glib-String-Utility-Functions.html#g-strcasecmp" title="g_strcasecmp ()"><code class="function">g_strcasecmp()</code></a> except it only compares the first <em class="parameter"><code>n</code></em>
2010
+ characters of the strings.
2011
+ </p>
2012
+ <div class="variablelist"><table border="0">
2013
+ <col align="left" valign="top">
2014
+ <tbody>
2015
+ <tr>
2016
+ <td><p><span class="term"><em class="parameter"><code>s1</code></em> :</span></p></td>
2017
+ <td>a string.
2018
+ </td>
2019
+ </tr>
2020
+ <tr>
2021
+ <td><p><span class="term"><em class="parameter"><code>s2</code></em> :</span></p></td>
2022
+ <td>a string to compare with <em class="parameter"><code>s1</code></em>.
2023
+ </td>
2024
+ </tr>
2025
+ <tr>
2026
+ <td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
2027
+ <td>the maximum number of characters to compare.
2028
+ </td>
2029
+ </tr>
2030
+ <tr>
2031
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2032
+ <td> 0 if the strings match, a negative value if <em class="parameter"><code>s1</code></em> &lt; <em class="parameter"><code>s2</code></em>,
2033
+ or a positive value if <em class="parameter"><code>s1</code></em> &gt; <em class="parameter"><code>s2</code></em>.
2034
+
2035
+ </td>
2036
+ </tr>
2037
+ </tbody>
2038
+ </table></div>
2039
+ </div>
2040
+ <hr>
2041
+ <div class="refsect2">
2042
+ <a name="g-strreverse"></a><h3>g_strreverse ()</h3>
2043
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strreverse (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
2044
+ <p>
2045
+ Reverses all of the bytes in a string. For example,
2046
+ <code class="literal">g_strreverse ("abcdef")</code> will result
2047
+ in "fedcba".
2048
+ </p>
2049
+ <p>
2050
+ Note that <a class="link" href="glib-String-Utility-Functions.html#g-strreverse" title="g_strreverse ()"><code class="function">g_strreverse()</code></a> doesn't work on UTF-8 strings
2051
+ containing multibyte characters. For that purpose, use
2052
+ <a class="link" href="glib-Unicode-Manipulation.html#g-utf8-strreverse" title="g_utf8_strreverse ()"><code class="function">g_utf8_strreverse()</code></a>.
2053
+ </p>
2054
+ <div class="variablelist"><table border="0">
2055
+ <col align="left" valign="top">
2056
+ <tbody>
2057
+ <tr>
2058
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2059
+ <td>the string to reverse
2060
+ </td>
2061
+ </tr>
2062
+ <tr>
2063
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2064
+ <td> the same pointer passed in as <em class="parameter"><code>string</code></em>
2065
+ </td>
2066
+ </tr>
2067
+ </tbody>
2068
+ </table></div>
2069
+ </div>
2070
+ <hr>
2071
+ <div class="refsect2">
2072
+ <a name="g-ascii-strtoll"></a><h3>g_ascii_strtoll ()</h3>
2073
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="returnvalue">gint64</span></a> g_ascii_strtoll (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *nptr</code></em>,
2074
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
2075
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> base</code></em>);</pre>
2076
+ <p>
2077
+ Converts a string to a <a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a> value.
2078
+ This function behaves like the standard <code class="function">strtoll()</code> function
2079
+ does in the C locale. It does this without actually
2080
+ changing the current locale, since that would not be
2081
+ thread-safe.
2082
+ </p>
2083
+ <p>
2084
+ This function is typically used when reading configuration
2085
+ files or other non-user input that should be locale independent.
2086
+ To handle input from the user you should normally use the
2087
+ locale-sensitive system <code class="function">strtoll()</code> function.
2088
+ </p>
2089
+ <p>
2090
+ If the correct value would cause overflow, <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXINT64:CAPS" title="G_MAXINT64"><code class="literal">G_MAXINT64</code></a> or <a class="link" href="glib-Limits-of-Basic-Types.html#G-MININT64:CAPS" title="G_MININT64"><code class="literal">G_MININT64</code></a>
2091
+ is returned, and <code class="literal">ERANGE</code> is stored in <code class="literal">errno</code>. If the base is
2092
+ outside the valid range, zero is returned, and <code class="literal">EINVAL</code> is stored
2093
+ in <code class="literal">errno</code>. If the string conversion fails, zero is returned, and
2094
+ <em class="parameter"><code>endptr</code></em> returns <em class="parameter"><code>nptr</code></em> (if <em class="parameter"><code>endptr</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>).
2095
+ </p>
2096
+ <div class="variablelist"><table border="0">
2097
+ <col align="left" valign="top">
2098
+ <tbody>
2099
+ <tr>
2100
+ <td><p><span class="term"><em class="parameter"><code>nptr</code></em> :</span></p></td>
2101
+ <td>the string to convert to a numeric value.
2102
+ </td>
2103
+ </tr>
2104
+ <tr>
2105
+ <td><p><span class="term"><em class="parameter"><code>endptr</code></em> :</span></p></td>
2106
+ <td>if non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, it returns the character after
2107
+ the last character used in the conversion.
2108
+ </td>
2109
+ </tr>
2110
+ <tr>
2111
+ <td><p><span class="term"><em class="parameter"><code>base</code></em> :</span></p></td>
2112
+ <td>to be used for the conversion, 2..36 or 0
2113
+ </td>
2114
+ </tr>
2115
+ <tr>
2116
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2117
+ <td> the <a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a> value or zero on error.
2118
+
2119
+ </td>
2120
+ </tr>
2121
+ </tbody>
2122
+ </table></div>
2123
+ <p class="since">Since 2.12</p>
2124
+ </div>
2125
+ <hr>
2126
+ <div class="refsect2">
2127
+ <a name="g-ascii-strtoull"></a><h3>g_ascii_strtoull ()</h3>
2128
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="returnvalue">guint64</span></a> g_ascii_strtoull (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *nptr</code></em>,
2129
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
2130
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> base</code></em>);</pre>
2131
+ <p>
2132
+ Converts a string to a <a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="type">guint64</span></a> value.
2133
+ This function behaves like the standard <code class="function">strtoull()</code> function
2134
+ does in the C locale. It does this without actually
2135
+ changing the current locale, since that would not be
2136
+ thread-safe.
2137
+ </p>
2138
+ <p>
2139
+ This function is typically used when reading configuration
2140
+ files or other non-user input that should be locale independent.
2141
+ To handle input from the user you should normally use the
2142
+ locale-sensitive system <code class="function">strtoull()</code> function.
2143
+ </p>
2144
+ <p>
2145
+ If the correct value would cause overflow, <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXUINT64:CAPS" title="G_MAXUINT64"><code class="literal">G_MAXUINT64</code></a>
2146
+ is returned, and <code class="literal">ERANGE</code> is stored in <code class="literal">errno</code>. If the base is
2147
+ outside the valid range, zero is returned, and <code class="literal">EINVAL</code> is stored
2148
+ in <code class="literal">errno</code>. If the string conversion fails, zero is returned, and
2149
+ <em class="parameter"><code>endptr</code></em> returns <em class="parameter"><code>nptr</code></em> (if <em class="parameter"><code>endptr</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>).
2150
+ </p>
2151
+ <div class="variablelist"><table border="0">
2152
+ <col align="left" valign="top">
2153
+ <tbody>
2154
+ <tr>
2155
+ <td><p><span class="term"><em class="parameter"><code>nptr</code></em> :</span></p></td>
2156
+ <td>the string to convert to a numeric value.
2157
+ </td>
2158
+ </tr>
2159
+ <tr>
2160
+ <td><p><span class="term"><em class="parameter"><code>endptr</code></em> :</span></p></td>
2161
+ <td>if non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, it returns the character after
2162
+ the last character used in the conversion.
2163
+ </td>
2164
+ </tr>
2165
+ <tr>
2166
+ <td><p><span class="term"><em class="parameter"><code>base</code></em> :</span></p></td>
2167
+ <td>to be used for the conversion, 2..36 or 0
2168
+ </td>
2169
+ </tr>
2170
+ <tr>
2171
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2172
+ <td> the <a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="type">guint64</span></a> value or zero on error.
2173
+
2174
+ </td>
2175
+ </tr>
2176
+ </tbody>
2177
+ </table></div>
2178
+ <p class="since">Since 2.2</p>
2179
+ </div>
2180
+ <hr>
2181
+ <div class="refsect2">
2182
+ <a name="G-ASCII-DTOSTR-BUF-SIZE:CAPS"></a><h3>G_ASCII_DTOSTR_BUF_SIZE</h3>
2183
+ <pre class="programlisting">#define G_ASCII_DTOSTR_BUF_SIZE (29 + 10)
2184
+ </pre>
2185
+ <p>
2186
+ A good size for a buffer to be passed into <a class="link" href="glib-String-Utility-Functions.html#g-ascii-dtostr" title="g_ascii_dtostr ()"><code class="function">g_ascii_dtostr()</code></a>.
2187
+ It is guaranteed to be enough for all output of that function on systems with
2188
+ 64bit IEEE-compatible doubles.
2189
+ </p>
2190
+ <p>
2191
+ The typical usage would be something like:
2192
+ </p>
2193
+ <div class="informalexample">
2194
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
2195
+ <tbody>
2196
+ <tr>
2197
+ <td class="listing_lines" align="right"><pre>1
2198
+ 2</pre></td>
2199
+ <td class="listing_code"><pre class="programlisting"><span class="type">char</span><span class="normal"> buf</span><span class="symbol">[</span><span class="normal"><a href="glib-String-Utility-Functions.html#G-ASCII-DTOSTR-BUF-SIZE:CAPS">G_ASCII_DTOSTR_BUF_SIZE</a></span><span class="symbol">];</span>
2200
+ <span class="function">fprintf</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">out</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"value=%s</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="glib-String-Utility-Functions.html#g-ascii-dtostr">g_ascii_dtostr</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">buf</span><span class="symbol">,</span><span class="normal"> </span><span class="keyword">sizeof</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">buf</span><span class="symbol">),</span><span class="normal"> value</span><span class="symbol">));</span></pre></td>
2201
+ </tr>
2202
+ </tbody>
2203
+ </table>
2204
+ </div>
2205
+
2206
+ <p>
2207
+ </p>
2208
+ </div>
2209
+ <hr>
2210
+ <div class="refsect2">
2211
+ <a name="g-ascii-strtod"></a><h3>g_ascii_strtod ()</h3>
2212
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> g_ascii_strtod (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *nptr</code></em>,
2213
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>);</pre>
2214
+ <p>
2215
+ Converts a string to a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> value.
2216
+ </p>
2217
+ <p>
2218
+ This function behaves like the standard <code class="function">strtod()</code> function
2219
+ does in the C locale. It does this without actually changing
2220
+ the current locale, since that would not be thread-safe.
2221
+ A limitation of the implementation is that this function
2222
+ will still accept localized versions of infinities and NANs.
2223
+ </p>
2224
+ <p>
2225
+ This function is typically used when reading configuration
2226
+ files or other non-user input that should be locale independent.
2227
+ To handle input from the user you should normally use the
2228
+ locale-sensitive system <code class="function">strtod()</code> function.
2229
+ </p>
2230
+ <p>
2231
+ To convert from a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> to a string in a locale-insensitive
2232
+ way, use <a class="link" href="glib-String-Utility-Functions.html#g-ascii-dtostr" title="g_ascii_dtostr ()"><code class="function">g_ascii_dtostr()</code></a>.
2233
+ </p>
2234
+ <p>
2235
+ If the correct value would cause overflow, plus or minus <code class="literal">HUGE_VAL</code>
2236
+ is returned (according to the sign of the value), and <code class="literal">ERANGE</code> is
2237
+ stored in <code class="literal">errno</code>. If the correct value would cause underflow,
2238
+ zero is returned and <code class="literal">ERANGE</code> is stored in <code class="literal">errno</code>.
2239
+ </p>
2240
+ <p>
2241
+ This function resets <code class="literal">errno</code> before calling <code class="function">strtod()</code> so that
2242
+ you can reliably detect overflow and underflow.
2243
+ </p>
2244
+ <div class="variablelist"><table border="0">
2245
+ <col align="left" valign="top">
2246
+ <tbody>
2247
+ <tr>
2248
+ <td><p><span class="term"><em class="parameter"><code>nptr</code></em> :</span></p></td>
2249
+ <td>the string to convert to a numeric value.
2250
+ </td>
2251
+ </tr>
2252
+ <tr>
2253
+ <td><p><span class="term"><em class="parameter"><code>endptr</code></em> :</span></p></td>
2254
+ <td>if non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, it returns the character after
2255
+ the last character used in the conversion.
2256
+ </td>
2257
+ </tr>
2258
+ <tr>
2259
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2260
+ <td> the <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> value.
2261
+ </td>
2262
+ </tr>
2263
+ </tbody>
2264
+ </table></div>
2265
+ </div>
2266
+ <hr>
2267
+ <div class="refsect2">
2268
+ <a name="g-ascii-dtostr"></a><h3>g_ascii_dtostr ()</h3>
2269
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_ascii_dtostr (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *buffer</code></em>,
2270
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> buf_len</code></em>,
2271
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> d</code></em>);</pre>
2272
+ <p>
2273
+ Converts a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> to a string, using the '.' as
2274
+ decimal point.
2275
+ </p>
2276
+ <p>
2277
+ This functions generates enough precision that converting
2278
+ the string back using <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strtod" title="g_ascii_strtod ()"><code class="function">g_ascii_strtod()</code></a> gives the same machine-number
2279
+ (on machines with IEEE compatible 64bit doubles). It is
2280
+ guaranteed that the size of the resulting string will never
2281
+ be larger than <em class="parameter"><code>G_ASCII_DTOSTR_BUF_SIZE</code></em> bytes.
2282
+ </p>
2283
+ <div class="variablelist"><table border="0">
2284
+ <col align="left" valign="top">
2285
+ <tbody>
2286
+ <tr>
2287
+ <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
2288
+ <td>A buffer to place the resulting string in
2289
+ </td>
2290
+ </tr>
2291
+ <tr>
2292
+ <td><p><span class="term"><em class="parameter"><code>buf_len</code></em> :</span></p></td>
2293
+ <td>The length of the buffer.
2294
+ </td>
2295
+ </tr>
2296
+ <tr>
2297
+ <td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
2298
+ <td>The <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> to convert
2299
+ </td>
2300
+ </tr>
2301
+ <tr>
2302
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2303
+ <td> The pointer to the buffer with the converted string.
2304
+ </td>
2305
+ </tr>
2306
+ </tbody>
2307
+ </table></div>
2308
+ </div>
2309
+ <hr>
2310
+ <div class="refsect2">
2311
+ <a name="g-ascii-formatd"></a><h3>g_ascii_formatd ()</h3>
2312
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_ascii_formatd (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *buffer</code></em>,
2313
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> buf_len</code></em>,
2314
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
2315
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> d</code></em>);</pre>
2316
+ <p>
2317
+ Converts a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> to a string, using the '.' as
2318
+ decimal point. To format the number you pass in
2319
+ a <code class="function">printf()</code>-style format string. Allowed conversion
2320
+ specifiers are 'e', 'E', 'f', 'F', 'g' and 'G'.
2321
+ </p>
2322
+ <p>
2323
+ If you just want to want to serialize the value into a
2324
+ string, use <a class="link" href="glib-String-Utility-Functions.html#g-ascii-dtostr" title="g_ascii_dtostr ()"><code class="function">g_ascii_dtostr()</code></a>.
2325
+ </p>
2326
+ <div class="variablelist"><table border="0">
2327
+ <col align="left" valign="top">
2328
+ <tbody>
2329
+ <tr>
2330
+ <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
2331
+ <td>A buffer to place the resulting string in
2332
+ </td>
2333
+ </tr>
2334
+ <tr>
2335
+ <td><p><span class="term"><em class="parameter"><code>buf_len</code></em> :</span></p></td>
2336
+ <td>The length of the buffer.
2337
+ </td>
2338
+ </tr>
2339
+ <tr>
2340
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2341
+ <td>The <code class="function">printf()</code>-style format to use for the
2342
+ code to use for converting.
2343
+ </td>
2344
+ </tr>
2345
+ <tr>
2346
+ <td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
2347
+ <td>The <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> to convert
2348
+ </td>
2349
+ </tr>
2350
+ <tr>
2351
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2352
+ <td> The pointer to the buffer with the converted string.
2353
+ </td>
2354
+ </tr>
2355
+ </tbody>
2356
+ </table></div>
2357
+ </div>
2358
+ <hr>
2359
+ <div class="refsect2">
2360
+ <a name="g-strtod"></a><h3>g_strtod ()</h3>
2361
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> g_strtod (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *nptr</code></em>,
2362
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>);</pre>
2363
+ <p>
2364
+ Converts a string to a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> value.
2365
+ It calls the standard <code class="function">strtod()</code> function to handle the conversion, but
2366
+ if the string is not completely converted it attempts the conversion
2367
+ again with <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strtod" title="g_ascii_strtod ()"><code class="function">g_ascii_strtod()</code></a>, and returns the best match.
2368
+ </p>
2369
+ <p>
2370
+ This function should seldomly be used. The normal situation when reading
2371
+ numbers not for human consumption is to use <a class="link" href="glib-String-Utility-Functions.html#g-ascii-strtod" title="g_ascii_strtod ()"><code class="function">g_ascii_strtod()</code></a>. Only when
2372
+ you know that you must expect both locale formatted and C formatted numbers
2373
+ should you use this. Make sure that you don't pass strings such as comma
2374
+ separated lists of values, since the commas may be interpreted as a decimal
2375
+ point in some locales, causing unexpected results.
2376
+ </p>
2377
+ <div class="variablelist"><table border="0">
2378
+ <col align="left" valign="top">
2379
+ <tbody>
2380
+ <tr>
2381
+ <td><p><span class="term"><em class="parameter"><code>nptr</code></em> :</span></p></td>
2382
+ <td>the string to convert to a numeric value.
2383
+ </td>
2384
+ </tr>
2385
+ <tr>
2386
+ <td><p><span class="term"><em class="parameter"><code>endptr</code></em> :</span></p></td>
2387
+ <td>if non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, it returns the character after
2388
+ the last character used in the conversion.
2389
+ </td>
2390
+ </tr>
2391
+ <tr>
2392
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2393
+ <td> the <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> value.
2394
+ </td>
2395
+ </tr>
2396
+ </tbody>
2397
+ </table></div>
2398
+ </div>
2399
+ <hr>
2400
+ <div class="refsect2">
2401
+ <a name="g-strchug"></a><h3>g_strchug ()</h3>
2402
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strchug (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
2403
+ <p>
2404
+ Removes leading whitespace from a string, by moving the rest of the
2405
+ characters forward.
2406
+ </p>
2407
+ <p>
2408
+ This function doesn't allocate or reallocate any memory; it modifies <em class="parameter"><code>string</code></em>
2409
+ in place. The pointer to <em class="parameter"><code>string</code></em> is returned to allow the nesting of functions.
2410
+ </p>
2411
+ <p>
2412
+ Also see <a class="link" href="glib-String-Utility-Functions.html#g-strchomp" title="g_strchomp ()"><code class="function">g_strchomp()</code></a> and <a class="link" href="glib-String-Utility-Functions.html#g-strstrip" title="g_strstrip()"><code class="function">g_strstrip()</code></a>.
2413
+ </p>
2414
+ <div class="variablelist"><table border="0">
2415
+ <col align="left" valign="top">
2416
+ <tbody>
2417
+ <tr>
2418
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2419
+ <td>a string to remove the leading whitespace from.
2420
+ </td>
2421
+ </tr>
2422
+ <tr>
2423
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2424
+ <td>
2425
+ <em class="parameter"><code>string</code></em>.
2426
+ </td>
2427
+ </tr>
2428
+ </tbody>
2429
+ </table></div>
2430
+ </div>
2431
+ <hr>
2432
+ <div class="refsect2">
2433
+ <a name="g-strchomp"></a><h3>g_strchomp ()</h3>
2434
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strchomp (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
2435
+ <p>
2436
+ Removes trailing whitespace from a string.
2437
+ </p>
2438
+ <p>
2439
+ This function doesn't allocate or reallocate any memory; it modifies <em class="parameter"><code>string</code></em> in
2440
+ place. The pointer to <em class="parameter"><code>string</code></em> is returned to allow the nesting of functions.
2441
+ </p>
2442
+ <p>
2443
+ Also see <a class="link" href="glib-String-Utility-Functions.html#g-strchug" title="g_strchug ()"><code class="function">g_strchug()</code></a> and <a class="link" href="glib-String-Utility-Functions.html#g-strstrip" title="g_strstrip()"><code class="function">g_strstrip()</code></a>.
2444
+ </p>
2445
+ <div class="variablelist"><table border="0">
2446
+ <col align="left" valign="top">
2447
+ <tbody>
2448
+ <tr>
2449
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2450
+ <td>a string to remove the trailing whitespace from.
2451
+ </td>
2452
+ </tr>
2453
+ <tr>
2454
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2455
+ <td>
2456
+ <em class="parameter"><code>string</code></em>.
2457
+ </td>
2458
+ </tr>
2459
+ </tbody>
2460
+ </table></div>
2461
+ </div>
2462
+ <hr>
2463
+ <div class="refsect2">
2464
+ <a name="g-strstrip"></a><h3>g_strstrip()</h3>
2465
+ <pre class="programlisting">#define g_strstrip( string )</pre>
2466
+ <p>
2467
+ Removes leading and trailing whitespace from a string. See <a class="link" href="glib-String-Utility-Functions.html#g-strchomp" title="g_strchomp ()"><code class="function">g_strchomp()</code></a> and
2468
+ <a class="link" href="glib-String-Utility-Functions.html#g-strchug" title="g_strchug ()"><code class="function">g_strchug()</code></a>.
2469
+ </p>
2470
+ <div class="variablelist"><table border="0">
2471
+ <col align="left" valign="top">
2472
+ <tbody><tr>
2473
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2474
+ <td>a string to remove the leading and trailing whitespace from.
2475
+ </td>
2476
+ </tr></tbody>
2477
+ </table></div>
2478
+ </div>
2479
+ <hr>
2480
+ <div class="refsect2">
2481
+ <a name="g-strdelimit"></a><h3>g_strdelimit ()</h3>
2482
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strdelimit (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
2483
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *delimiters</code></em>,
2484
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> new_delimiter</code></em>);</pre>
2485
+ <p>
2486
+ Converts any delimiter characters in <em class="parameter"><code>string</code></em> to <em class="parameter"><code>new_delimiter</code></em>.
2487
+ Any characters in <em class="parameter"><code>string</code></em> which are found in <em class="parameter"><code>delimiters</code></em> are changed
2488
+ to the <em class="parameter"><code>new_delimiter</code></em> character. Modifies <em class="parameter"><code>string</code></em> in place, and returns
2489
+ <em class="parameter"><code>string</code></em> itself, not a copy. The return value is to allow nesting such as
2490
+ <code class="literal">g_ascii_strup (g_strdelimit (str, "abc", '?'))</code>.
2491
+ </p>
2492
+ <div class="variablelist"><table border="0">
2493
+ <col align="left" valign="top">
2494
+ <tbody>
2495
+ <tr>
2496
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2497
+ <td>the string to convert.
2498
+ </td>
2499
+ </tr>
2500
+ <tr>
2501
+ <td><p><span class="term"><em class="parameter"><code>delimiters</code></em> :</span></p></td>
2502
+ <td>a string containing the current delimiters, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> to use the
2503
+ standard delimiters defined in <a class="link" href="glib-String-Utility-Functions.html#G-STR-DELIMITERS:CAPS" title="G_STR_DELIMITERS"><span class="type">G_STR_DELIMITERS</span></a>.
2504
+ </td>
2505
+ </tr>
2506
+ <tr>
2507
+ <td><p><span class="term"><em class="parameter"><code>new_delimiter</code></em> :</span></p></td>
2508
+ <td>the new delimiter character.
2509
+ </td>
2510
+ </tr>
2511
+ <tr>
2512
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2513
+ <td>
2514
+ <em class="parameter"><code>string</code></em>.
2515
+ </td>
2516
+ </tr>
2517
+ </tbody>
2518
+ </table></div>
2519
+ </div>
2520
+ <hr>
2521
+ <div class="refsect2">
2522
+ <a name="G-STR-DELIMITERS:CAPS"></a><h3>G_STR_DELIMITERS</h3>
2523
+ <pre class="programlisting">#define G_STR_DELIMITERS "_-|&gt; &lt;."
2524
+ </pre>
2525
+ <p>
2526
+ The standard delimiters, used in <a class="link" href="glib-String-Utility-Functions.html#g-strdelimit" title="g_strdelimit ()"><code class="function">g_strdelimit()</code></a>.
2527
+ </p>
2528
+ </div>
2529
+ <hr>
2530
+ <div class="refsect2">
2531
+ <a name="g-strescape"></a><h3>g_strescape ()</h3>
2532
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strescape (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *source</code></em>,
2533
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *exceptions</code></em>);</pre>
2534
+ <p>
2535
+ Escapes the special characters '\b', '\f', '\n', '\r', '\t', '\' and
2536
+ '"' in the string <em class="parameter"><code>source</code></em> by inserting a '\' before
2537
+ them. Additionally all characters in the range 0x01-0x1F (everything
2538
+ below SPACE) and in the range 0x7F-0xFF (all non-ASCII chars) are
2539
+ replaced with a '\' followed by their octal representation. Characters
2540
+ supplied in <em class="parameter"><code>exceptions</code></em> are not escaped.
2541
+ </p>
2542
+ <p>
2543
+ <a class="link" href="glib-String-Utility-Functions.html#g-strcompress" title="g_strcompress ()"><code class="function">g_strcompress()</code></a> does the reverse conversion.
2544
+ </p>
2545
+ <div class="variablelist"><table border="0">
2546
+ <col align="left" valign="top">
2547
+ <tbody>
2548
+ <tr>
2549
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2550
+ <td>a string to escape.
2551
+ </td>
2552
+ </tr>
2553
+ <tr>
2554
+ <td><p><span class="term"><em class="parameter"><code>exceptions</code></em> :</span></p></td>
2555
+ <td>a string of characters not to escape in <em class="parameter"><code>source</code></em>.
2556
+ </td>
2557
+ </tr>
2558
+ <tr>
2559
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2560
+ <td>a newly-allocated copy of <em class="parameter"><code>source</code></em> with certain
2561
+ characters escaped. See above.
2562
+ </td>
2563
+ </tr>
2564
+ </tbody>
2565
+ </table></div>
2566
+ </div>
2567
+ <hr>
2568
+ <div class="refsect2">
2569
+ <a name="g-strcompress"></a><h3>g_strcompress ()</h3>
2570
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strcompress (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *source</code></em>);</pre>
2571
+ <p>
2572
+ Replaces all escaped characters with their one byte equivalent. It
2573
+ does the reverse conversion of <a class="link" href="glib-String-Utility-Functions.html#g-strescape" title="g_strescape ()"><code class="function">g_strescape()</code></a>.
2574
+ </p>
2575
+ <div class="variablelist"><table border="0">
2576
+ <col align="left" valign="top">
2577
+ <tbody>
2578
+ <tr>
2579
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2580
+ <td>a string to compress.
2581
+ </td>
2582
+ </tr>
2583
+ <tr>
2584
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2585
+ <td>a newly-allocated copy of <em class="parameter"><code>source</code></em> with all escaped
2586
+ character compressed.
2587
+ </td>
2588
+ </tr>
2589
+ </tbody>
2590
+ </table></div>
2591
+ </div>
2592
+ <hr>
2593
+ <div class="refsect2">
2594
+ <a name="g-strcanon"></a><h3>g_strcanon ()</h3>
2595
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strcanon (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
2596
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *valid_chars</code></em>,
2597
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> substitutor</code></em>);</pre>
2598
+ <p>
2599
+ For each character in <em class="parameter"><code>string</code></em>, if the character is not in <em class="parameter"><code>valid_chars</code></em>,
2600
+ replaces the character with <em class="parameter"><code>substitutor</code></em>. Modifies <em class="parameter"><code>string</code></em> in place,
2601
+ and return <em class="parameter"><code>string</code></em> itself, not a copy. The return value is to allow
2602
+ nesting such as <code class="literal">g_ascii_strup (g_strcanon (str, "abc", '?'))</code>.
2603
+ </p>
2604
+ <div class="variablelist"><table border="0">
2605
+ <col align="left" valign="top">
2606
+ <tbody>
2607
+ <tr>
2608
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2609
+ <td>a nul-terminated array of bytes.
2610
+ </td>
2611
+ </tr>
2612
+ <tr>
2613
+ <td><p><span class="term"><em class="parameter"><code>valid_chars</code></em> :</span></p></td>
2614
+ <td>bytes permitted in <em class="parameter"><code>string</code></em>.
2615
+ </td>
2616
+ </tr>
2617
+ <tr>
2618
+ <td><p><span class="term"><em class="parameter"><code>substitutor</code></em> :</span></p></td>
2619
+ <td>replacement character for disallowed bytes.
2620
+ </td>
2621
+ </tr>
2622
+ <tr>
2623
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2624
+ <td>
2625
+ <em class="parameter"><code>string</code></em>.
2626
+ </td>
2627
+ </tr>
2628
+ </tbody>
2629
+ </table></div>
2630
+ </div>
2631
+ <hr>
2632
+ <div class="refsect2">
2633
+ <a name="g-strsplit"></a><h3>g_strsplit ()</h3>
2634
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** g_strsplit (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
2635
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *delimiter</code></em>,
2636
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> max_tokens</code></em>);</pre>
2637
+ <p>
2638
+ Splits a string into a maximum of <em class="parameter"><code>max_tokens</code></em> pieces, using the given
2639
+ <em class="parameter"><code>delimiter</code></em>. If <em class="parameter"><code>max_tokens</code></em> is reached, the remainder of <em class="parameter"><code>string</code></em> is appended
2640
+ to the last token.
2641
+ </p>
2642
+ <p>
2643
+ As a special case, the result of splitting the empty string "" is an empty
2644
+ vector, not a vector containing a single string. The reason for this
2645
+ special case is that being able to represent a empty vector is typically
2646
+ more useful than consistent handling of empty elements. If you do need
2647
+ to represent empty elements, you'll need to check for the empty string
2648
+ before calling <a class="link" href="glib-String-Utility-Functions.html#g-strsplit" title="g_strsplit ()"><code class="function">g_strsplit()</code></a>.
2649
+ </p>
2650
+ <div class="variablelist"><table border="0">
2651
+ <col align="left" valign="top">
2652
+ <tbody>
2653
+ <tr>
2654
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2655
+ <td>a string to split.
2656
+ </td>
2657
+ </tr>
2658
+ <tr>
2659
+ <td><p><span class="term"><em class="parameter"><code>delimiter</code></em> :</span></p></td>
2660
+ <td>a string which specifies the places at which to split the string.
2661
+ The delimiter is not included in any of the resulting strings, unless
2662
+ <em class="parameter"><code>max_tokens</code></em> is reached.
2663
+ </td>
2664
+ </tr>
2665
+ <tr>
2666
+ <td><p><span class="term"><em class="parameter"><code>max_tokens</code></em> :</span></p></td>
2667
+ <td>the maximum number of pieces to split <em class="parameter"><code>string</code></em> into. If this is
2668
+ less than 1, the string is split completely.
2669
+ </td>
2670
+ </tr>
2671
+ <tr>
2672
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2673
+ <td> a newly-allocated <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings. Use
2674
+ <a class="link" href="glib-String-Utility-Functions.html#g-strfreev" title="g_strfreev ()"><code class="function">g_strfreev()</code></a> to free it.
2675
+ </td>
2676
+ </tr>
2677
+ </tbody>
2678
+ </table></div>
2679
+ </div>
2680
+ <hr>
2681
+ <div class="refsect2">
2682
+ <a name="g-strsplit-set"></a><h3>g_strsplit_set ()</h3>
2683
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** g_strsplit_set (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>,
2684
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *delimiters</code></em>,
2685
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> max_tokens</code></em>);</pre>
2686
+ <p>
2687
+ Splits <em class="parameter"><code>string</code></em> into a number of tokens not containing any of the characters
2688
+ in <em class="parameter"><code>delimiter</code></em>. A token is the (possibly empty) longest string that does not
2689
+ contain any of the characters in <em class="parameter"><code>delimiters</code></em>. If <em class="parameter"><code>max_tokens</code></em> is reached, the
2690
+ remainder is appended to the last token.
2691
+ </p>
2692
+ <p>
2693
+ For example the result of g_strsplit_set ("abc:def/ghi", ":/", -1) is a
2694
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated vector containing the three strings "abc", "def",
2695
+ and "ghi".
2696
+ </p>
2697
+ <p>
2698
+ The result if g_strsplit_set (":def/ghi:", ":/", -1) is a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated
2699
+ vector containing the four strings "", "def", "ghi", and "".
2700
+ </p>
2701
+ <p>
2702
+ As a special case, the result of splitting the empty string "" is an empty
2703
+ vector, not a vector containing a single string. The reason for this
2704
+ special case is that being able to represent a empty vector is typically
2705
+ more useful than consistent handling of empty elements. If you do need
2706
+ to represent empty elements, you'll need to check for the empty string
2707
+ before calling <a class="link" href="glib-String-Utility-Functions.html#g-strsplit-set" title="g_strsplit_set ()"><code class="function">g_strsplit_set()</code></a>.
2708
+ </p>
2709
+ <p>
2710
+ Note that this function works on bytes not characters, so it can't be used
2711
+ to delimit UTF-8 strings for anything but ASCII characters.
2712
+ </p>
2713
+ <div class="variablelist"><table border="0">
2714
+ <col align="left" valign="top">
2715
+ <tbody>
2716
+ <tr>
2717
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2718
+ <td>The string to be tokenized
2719
+ </td>
2720
+ </tr>
2721
+ <tr>
2722
+ <td><p><span class="term"><em class="parameter"><code>delimiters</code></em> :</span></p></td>
2723
+ <td>A nul-terminated string containing bytes that are used
2724
+ to split the string.
2725
+ </td>
2726
+ </tr>
2727
+ <tr>
2728
+ <td><p><span class="term"><em class="parameter"><code>max_tokens</code></em> :</span></p></td>
2729
+ <td>The maximum number of tokens to split <em class="parameter"><code>string</code></em> into.
2730
+ If this is less than 1, the string is split completely
2731
+ </td>
2732
+ </tr>
2733
+ <tr>
2734
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2735
+ <td> a newly-allocated <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings. Use
2736
+ <a class="link" href="glib-String-Utility-Functions.html#g-strfreev" title="g_strfreev ()"><code class="function">g_strfreev()</code></a> to free it.
2737
+
2738
+ </td>
2739
+ </tr>
2740
+ </tbody>
2741
+ </table></div>
2742
+ <p class="since">Since 2.4</p>
2743
+ </div>
2744
+ <hr>
2745
+ <div class="refsect2">
2746
+ <a name="g-strfreev"></a><h3>g_strfreev ()</h3>
2747
+ <pre class="programlisting"><span class="returnvalue">void</span> g_strfreev (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **str_array</code></em>);</pre>
2748
+ <p>
2749
+ Frees a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings, and the array itself.
2750
+ If called on a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> value, <a class="link" href="glib-String-Utility-Functions.html#g-strfreev" title="g_strfreev ()"><code class="function">g_strfreev()</code></a> simply returns.
2751
+ </p>
2752
+ <div class="variablelist"><table border="0">
2753
+ <col align="left" valign="top">
2754
+ <tbody><tr>
2755
+ <td><p><span class="term"><em class="parameter"><code>str_array</code></em> :</span></p></td>
2756
+ <td>a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings to free.
2757
+ </td>
2758
+ </tr></tbody>
2759
+ </table></div>
2760
+ </div>
2761
+ <hr>
2762
+ <div class="refsect2">
2763
+ <a name="g-strconcat"></a><h3>g_strconcat ()</h3>
2764
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strconcat (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string1</code></em>,
2765
+ <em class="parameter"><code>...</code></em>);</pre>
2766
+ <p>
2767
+ Concatenates all of the given strings into one long string.
2768
+ The returned string should be freed with <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a> when no longer needed.
2769
+ </p>
2770
+ <p>
2771
+ Note that this function is usually not the right function to use to
2772
+ assemble a translated message from pieces, since proper translation
2773
+ often requires the pieces to be reordered.
2774
+ </p>
2775
+ <p>
2776
+ </p>
2777
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
2778
+ <h3 class="title">Warning</h3>
2779
+ <p>The variable argument list <span class="emphasis"><em>must</em></span> end
2780
+ with <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. If you forget the <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, <a class="link" href="glib-String-Utility-Functions.html#g-strconcat" title="g_strconcat ()"><code class="function">g_strconcat()</code></a> will start appending
2781
+ random memory junk to your string.</p>
2782
+ </div>
2783
+ <p>
2784
+ </p>
2785
+ <div class="variablelist"><table border="0">
2786
+ <col align="left" valign="top">
2787
+ <tbody>
2788
+ <tr>
2789
+ <td><p><span class="term"><em class="parameter"><code>string1</code></em> :</span></p></td>
2790
+ <td>the first string to add, which must not be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2791
+ </td>
2792
+ </tr>
2793
+ <tr>
2794
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
2795
+ <td>a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated list of strings to append to the string
2796
+ </td>
2797
+ </tr>
2798
+ <tr>
2799
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2800
+ <td> a newly-allocated string containing all the string arguments
2801
+ </td>
2802
+ </tr>
2803
+ </tbody>
2804
+ </table></div>
2805
+ </div>
2806
+ <hr>
2807
+ <div class="refsect2">
2808
+ <a name="g-strjoin"></a><h3>g_strjoin ()</h3>
2809
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strjoin (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *separator</code></em>,
2810
+ <em class="parameter"><code>...</code></em>);</pre>
2811
+ <p>
2812
+ Joins a number of strings together to form one long string, with the
2813
+ optional <em class="parameter"><code>separator</code></em> inserted between each of them. The returned string
2814
+ should be freed with <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a>.
2815
+ </p>
2816
+ <div class="variablelist"><table border="0">
2817
+ <col align="left" valign="top">
2818
+ <tbody>
2819
+ <tr>
2820
+ <td><p><span class="term"><em class="parameter"><code>separator</code></em> :</span></p></td>
2821
+ <td>a string to insert between each of the strings, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2822
+ </td>
2823
+ </tr>
2824
+ <tr>
2825
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
2826
+ <td>a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated list of strings to join
2827
+ </td>
2828
+ </tr>
2829
+ <tr>
2830
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2831
+ <td> a newly-allocated string containing all of the strings joined
2832
+ together, with <em class="parameter"><code>separator</code></em> between them
2833
+ </td>
2834
+ </tr>
2835
+ </tbody>
2836
+ </table></div>
2837
+ </div>
2838
+ <hr>
2839
+ <div class="refsect2">
2840
+ <a name="g-strjoinv"></a><h3>g_strjoinv ()</h3>
2841
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strjoinv (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *separator</code></em>,
2842
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **str_array</code></em>);</pre>
2843
+ <p>
2844
+ Joins a number of strings together to form one long string, with the
2845
+ optional <em class="parameter"><code>separator</code></em> inserted between each of them. The returned string
2846
+ should be freed with <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a>.
2847
+ </p>
2848
+ <div class="variablelist"><table border="0">
2849
+ <col align="left" valign="top">
2850
+ <tbody>
2851
+ <tr>
2852
+ <td><p><span class="term"><em class="parameter"><code>separator</code></em> :</span></p></td>
2853
+ <td>a string to insert between each of the strings, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2854
+ </td>
2855
+ </tr>
2856
+ <tr>
2857
+ <td><p><span class="term"><em class="parameter"><code>str_array</code></em> :</span></p></td>
2858
+ <td>a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings to join
2859
+ </td>
2860
+ </tr>
2861
+ <tr>
2862
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2863
+ <td> a newly-allocated string containing all of the strings joined
2864
+ together, with <em class="parameter"><code>separator</code></em> between them
2865
+ </td>
2866
+ </tr>
2867
+ </tbody>
2868
+ </table></div>
2869
+ </div>
2870
+ <hr>
2871
+ <div class="refsect2">
2872
+ <a name="g-strv-length"></a><h3>g_strv_length ()</h3>
2873
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_strv_length (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **str_array</code></em>);</pre>
2874
+ <p>
2875
+ Returns the length of the given <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated
2876
+ string array <em class="parameter"><code>str_array</code></em>.
2877
+ </p>
2878
+ <div class="variablelist"><table border="0">
2879
+ <col align="left" valign="top">
2880
+ <tbody>
2881
+ <tr>
2882
+ <td><p><span class="term"><em class="parameter"><code>str_array</code></em> :</span></p></td>
2883
+ <td>a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings.
2884
+ </td>
2885
+ </tr>
2886
+ <tr>
2887
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2888
+ <td> length of <em class="parameter"><code>str_array</code></em>.
2889
+
2890
+ </td>
2891
+ </tr>
2892
+ </tbody>
2893
+ </table></div>
2894
+ <p class="since">Since 2.6</p>
2895
+ </div>
2896
+ <hr>
2897
+ <div class="refsect2">
2898
+ <a name="g-strerror"></a><h3>g_strerror ()</h3>
2899
+ <pre class="programlisting">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strerror (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> errnum</code></em>);</pre>
2900
+ <p>
2901
+ Returns a string corresponding to the given error code, e.g.
2902
+ "no such process". You should use this function in preference to
2903
+ <code class="function">strerror()</code>, because it returns a string in UTF-8 encoding, and since
2904
+ not all platforms support the <code class="function">strerror()</code> function.
2905
+ </p>
2906
+ <div class="variablelist"><table border="0">
2907
+ <col align="left" valign="top">
2908
+ <tbody>
2909
+ <tr>
2910
+ <td><p><span class="term"><em class="parameter"><code>errnum</code></em> :</span></p></td>
2911
+ <td>the system error number. See the standard C <code class="literal">errno</code>
2912
+ documentation
2913
+ </td>
2914
+ </tr>
2915
+ <tr>
2916
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2917
+ <td> a UTF-8 string describing the error code. If the error code
2918
+ is unknown, it returns "unknown error (&lt;code&gt;)". The string
2919
+ can only be used until the next call to <a class="link" href="glib-String-Utility-Functions.html#g-strerror" title="g_strerror ()"><code class="function">g_strerror()</code></a>
2920
+ </td>
2921
+ </tr>
2922
+ </tbody>
2923
+ </table></div>
2924
+ </div>
2925
+ <hr>
2926
+ <div class="refsect2">
2927
+ <a name="g-strsignal"></a><h3>g_strsignal ()</h3>
2928
+ <pre class="programlisting">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_strsignal (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> signum</code></em>);</pre>
2929
+ <p>
2930
+ Returns a string describing the given signal, e.g. "Segmentation fault".
2931
+ You should use this function in preference to <code class="function">strsignal()</code>, because it
2932
+ returns a string in UTF-8 encoding, and since not all platforms support
2933
+ the <code class="function">strsignal()</code> function.
2934
+ </p>
2935
+ <div class="variablelist"><table border="0">
2936
+ <col align="left" valign="top">
2937
+ <tbody>
2938
+ <tr>
2939
+ <td><p><span class="term"><em class="parameter"><code>signum</code></em> :</span></p></td>
2940
+ <td>the signal number. See the <code class="literal">signal</code>
2941
+ documentation
2942
+ </td>
2943
+ </tr>
2944
+ <tr>
2945
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2946
+ <td> a UTF-8 string describing the signal. If the signal is unknown,
2947
+ it returns "unknown signal (&lt;signum&gt;)". The string can only be
2948
+ used until the next call to <a class="link" href="glib-String-Utility-Functions.html#g-strsignal" title="g_strsignal ()"><code class="function">g_strsignal()</code></a>
2949
+ </td>
2950
+ </tr>
2951
+ </tbody>
2952
+ </table></div>
2953
+ </div>
2954
+ </div>
2955
+ </div>
2956
+ <div class="footer">
2957
+ <hr>
2958
+ Generated by GTK-Doc V1.15.1</div>
2959
+ </body>
2960
+ </html>