gtl-parsley-ruby 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. data/CHANGELOG +3 -0
  2. data/README +32 -0
  3. data/Rakefile +57 -0
  4. data/VERSION +1 -0
  5. data/ext/cparsley.c +152 -0
  6. data/ext/extconf.rb +82 -0
  7. data/ext/parsley/.gitignore +32 -0
  8. data/ext/parsley/AUTHORS +1 -0
  9. data/ext/parsley/ChangeLog +0 -0
  10. data/ext/parsley/HACKING +4 -0
  11. data/ext/parsley/INSTALL +73 -0
  12. data/ext/parsley/INTRO +84 -0
  13. data/ext/parsley/Makefile.am +80 -0
  14. data/ext/parsley/Makefile.in +1009 -0
  15. data/ext/parsley/NEWS +0 -0
  16. data/ext/parsley/PAPER +36 -0
  17. data/ext/parsley/Portfile +18 -0
  18. data/ext/parsley/Portfile.in +17 -0
  19. data/ext/parsley/README.C-LANG +92 -0
  20. data/ext/parsley/README.markdown +1 -0
  21. data/ext/parsley/TODO +39 -0
  22. data/ext/parsley/VERSION +1 -0
  23. data/ext/parsley/aclocal.m4 +8918 -0
  24. data/ext/parsley/bootstrap.sh +6 -0
  25. data/ext/parsley/config.guess +1561 -0
  26. data/ext/parsley/config.sub +1686 -0
  27. data/ext/parsley/configure +13437 -0
  28. data/ext/parsley/configure.ac +46 -0
  29. data/ext/parsley/depcomp +630 -0
  30. data/ext/parsley/functions.c +368 -0
  31. data/ext/parsley/functions.h +19 -0
  32. data/ext/parsley/generate_bisect.sh +12 -0
  33. data/ext/parsley/hooks/prepare-commit-msg +16 -0
  34. data/ext/parsley/install-sh +520 -0
  35. data/ext/parsley/json-c-0.9/AUTHORS +2 -0
  36. data/ext/parsley/json-c-0.9/COPYING +19 -0
  37. data/ext/parsley/json-c-0.9/ChangeLog +103 -0
  38. data/ext/parsley/json-c-0.9/INSTALL +302 -0
  39. data/ext/parsley/json-c-0.9/Makefile.am +43 -0
  40. data/ext/parsley/json-c-0.9/Makefile.in +800 -0
  41. data/ext/parsley/json-c-0.9/NEWS +1 -0
  42. data/ext/parsley/json-c-0.9/README +20 -0
  43. data/ext/parsley/json-c-0.9/README-WIN32.html +57 -0
  44. data/ext/parsley/json-c-0.9/README.html +32 -0
  45. data/ext/parsley/json-c-0.9/aclocal.m4 +8909 -0
  46. data/ext/parsley/json-c-0.9/arraylist.c +94 -0
  47. data/ext/parsley/json-c-0.9/arraylist.h +53 -0
  48. data/ext/parsley/json-c-0.9/bits.h +27 -0
  49. data/ext/parsley/json-c-0.9/config.guess +1561 -0
  50. data/ext/parsley/json-c-0.9/config.h +125 -0
  51. data/ext/parsley/json-c-0.9/config.h.in +124 -0
  52. data/ext/parsley/json-c-0.9/config.h.win32 +94 -0
  53. data/ext/parsley/json-c-0.9/config.sub +1686 -0
  54. data/ext/parsley/json-c-0.9/configure +13084 -0
  55. data/ext/parsley/json-c-0.9/configure.in +33 -0
  56. data/ext/parsley/json-c-0.9/debug.c +98 -0
  57. data/ext/parsley/json-c-0.9/debug.h +50 -0
  58. data/ext/parsley/json-c-0.9/depcomp +630 -0
  59. data/ext/parsley/json-c-0.9/doc/html/annotated.html +40 -0
  60. data/ext/parsley/json-c-0.9/doc/html/arraylist_8h.html +240 -0
  61. data/ext/parsley/json-c-0.9/doc/html/bits_8h.html +150 -0
  62. data/ext/parsley/json-c-0.9/doc/html/classes.html +36 -0
  63. data/ext/parsley/json-c-0.9/doc/html/config_8h.html +612 -0
  64. data/ext/parsley/json-c-0.9/doc/html/debug_8h.html +392 -0
  65. data/ext/parsley/json-c-0.9/doc/html/doxygen.css +441 -0
  66. data/ext/parsley/json-c-0.9/doc/html/doxygen.png +0 -0
  67. data/ext/parsley/json-c-0.9/doc/html/files.html +42 -0
  68. data/ext/parsley/json-c-0.9/doc/html/functions.html +206 -0
  69. data/ext/parsley/json-c-0.9/doc/html/functions_vars.html +206 -0
  70. data/ext/parsley/json-c-0.9/doc/html/globals.html +459 -0
  71. data/ext/parsley/json-c-0.9/doc/html/globals_defs.html +202 -0
  72. data/ext/parsley/json-c-0.9/doc/html/globals_enum.html +50 -0
  73. data/ext/parsley/json-c-0.9/doc/html/globals_eval.html +135 -0
  74. data/ext/parsley/json-c-0.9/doc/html/globals_func.html +194 -0
  75. data/ext/parsley/json-c-0.9/doc/html/globals_type.html +70 -0
  76. data/ext/parsley/json-c-0.9/doc/html/globals_vars.html +50 -0
  77. data/ext/parsley/json-c-0.9/doc/html/index.html +25 -0
  78. data/ext/parsley/json-c-0.9/doc/html/json_8h.html +32 -0
  79. data/ext/parsley/json-c-0.9/doc/html/json__object_8h.html +1150 -0
  80. data/ext/parsley/json-c-0.9/doc/html/json__object__private_8h.html +75 -0
  81. data/ext/parsley/json-c-0.9/doc/html/json__tokener_8h.html +366 -0
  82. data/ext/parsley/json-c-0.9/doc/html/json__util_8h.html +106 -0
  83. data/ext/parsley/json-c-0.9/doc/html/linkhash_8h.html +740 -0
  84. data/ext/parsley/json-c-0.9/doc/html/printbuf_8h.html +214 -0
  85. data/ext/parsley/json-c-0.9/doc/html/structarray__list.html +104 -0
  86. data/ext/parsley/json-c-0.9/doc/html/structjson__object.html +141 -0
  87. data/ext/parsley/json-c-0.9/doc/html/structjson__object__iter.html +87 -0
  88. data/ext/parsley/json-c-0.9/doc/html/structjson__tokener.html +206 -0
  89. data/ext/parsley/json-c-0.9/doc/html/structjson__tokener__srec.html +104 -0
  90. data/ext/parsley/json-c-0.9/doc/html/structlh__entry.html +105 -0
  91. data/ext/parsley/json-c-0.9/doc/html/structlh__table.html +275 -0
  92. data/ext/parsley/json-c-0.9/doc/html/structprintbuf.html +87 -0
  93. data/ext/parsley/json-c-0.9/doc/html/tab_b.gif +0 -0
  94. data/ext/parsley/json-c-0.9/doc/html/tab_l.gif +0 -0
  95. data/ext/parsley/json-c-0.9/doc/html/tab_r.gif +0 -0
  96. data/ext/parsley/json-c-0.9/doc/html/tabs.css +105 -0
  97. data/ext/parsley/json-c-0.9/doc/html/unionjson__object_1_1data.html +140 -0
  98. data/ext/parsley/json-c-0.9/install-sh +520 -0
  99. data/ext/parsley/json-c-0.9/json.h +31 -0
  100. data/ext/parsley/json-c-0.9/json.pc +11 -0
  101. data/ext/parsley/json-c-0.9/json.pc.in +11 -0
  102. data/ext/parsley/json-c-0.9/json_object.c +512 -0
  103. data/ext/parsley/json-c-0.9/json_object.h +319 -0
  104. data/ext/parsley/json-c-0.9/json_object_private.h +52 -0
  105. data/ext/parsley/json-c-0.9/json_tokener.c +628 -0
  106. data/ext/parsley/json-c-0.9/json_tokener.h +98 -0
  107. data/ext/parsley/json-c-0.9/json_util.c +122 -0
  108. data/ext/parsley/json-c-0.9/json_util.h +31 -0
  109. data/ext/parsley/json-c-0.9/libjson.la +41 -0
  110. data/ext/parsley/json-c-0.9/libtool +8890 -0
  111. data/ext/parsley/json-c-0.9/linkhash.c +216 -0
  112. data/ext/parsley/json-c-0.9/linkhash.h +272 -0
  113. data/ext/parsley/json-c-0.9/ltmain.sh +8406 -0
  114. data/ext/parsley/json-c-0.9/missing +376 -0
  115. data/ext/parsley/json-c-0.9/printbuf.c +149 -0
  116. data/ext/parsley/json-c-0.9/printbuf.h +64 -0
  117. data/ext/parsley/json-c-0.9/stamp-h1 +1 -0
  118. data/ext/parsley/json-c-0.9/test1 +130 -0
  119. data/ext/parsley/json-c-0.9/test1.c +164 -0
  120. data/ext/parsley/json-c-0.9/test2 +130 -0
  121. data/ext/parsley/json-c-0.9/test2.c +20 -0
  122. data/ext/parsley/json-c-0.9/test3 +130 -0
  123. data/ext/parsley/json-c-0.9/test3.c +23 -0
  124. data/ext/parsley/libtool +8890 -0
  125. data/ext/parsley/ltmain.sh +8406 -0
  126. data/ext/parsley/missing +376 -0
  127. data/ext/parsley/parsed_xpath.c +168 -0
  128. data/ext/parsley/parsed_xpath.h +34 -0
  129. data/ext/parsley/parser.y +631 -0
  130. data/ext/parsley/parsley.c +793 -0
  131. data/ext/parsley/parsley.h +87 -0
  132. data/ext/parsley/parsley_main.c +185 -0
  133. data/ext/parsley/parsleyc_main.c +108 -0
  134. data/ext/parsley/regexp.c +359 -0
  135. data/ext/parsley/regexp.h +36 -0
  136. data/ext/parsley/scanner.l +221 -0
  137. data/ext/parsley/test/ambiguous.html +207 -0
  138. data/ext/parsley/test/ambiguous.json +1 -0
  139. data/ext/parsley/test/ambiguous.let +6 -0
  140. data/ext/parsley/test/array-regression.html +5 -0
  141. data/ext/parsley/test/array-regression.json +1 -0
  142. data/ext/parsley/test/array-regression.let +10 -0
  143. data/ext/parsley/test/backslash.html +5 -0
  144. data/ext/parsley/test/backslash.json +1 -0
  145. data/ext/parsley/test/backslash.let +3 -0
  146. data/ext/parsley/test/bang.html +17 -0
  147. data/ext/parsley/test/bang.json +1 -0
  148. data/ext/parsley/test/bang.let +6 -0
  149. data/ext/parsley/test/collate_regression.html +324 -0
  150. data/ext/parsley/test/collate_regression.json +1 -0
  151. data/ext/parsley/test/collate_regression.let +9 -0
  152. data/ext/parsley/test/contains.html +3 -0
  153. data/ext/parsley/test/contains.json +1 -0
  154. data/ext/parsley/test/contains.let +3 -0
  155. data/ext/parsley/test/content.html +13 -0
  156. data/ext/parsley/test/content.json +1 -0
  157. data/ext/parsley/test/content.let +7 -0
  158. data/ext/parsley/test/cool.html +575 -0
  159. data/ext/parsley/test/cool.json +1 -0
  160. data/ext/parsley/test/cool.let +9 -0
  161. data/ext/parsley/test/craigs-simple.html +207 -0
  162. data/ext/parsley/test/craigs-simple.json +1 -0
  163. data/ext/parsley/test/craigs-simple.let +6 -0
  164. data/ext/parsley/test/craigs.html +207 -0
  165. data/ext/parsley/test/craigs.json +1 -0
  166. data/ext/parsley/test/craigs.let +9 -0
  167. data/ext/parsley/test/crash.html +157 -0
  168. data/ext/parsley/test/crash.json +1 -0
  169. data/ext/parsley/test/crash.let +1 -0
  170. data/ext/parsley/test/css_attr.html +3 -0
  171. data/ext/parsley/test/css_attr.json +1 -0
  172. data/ext/parsley/test/css_attr.let +3 -0
  173. data/ext/parsley/test/default-namespace.json +1 -0
  174. data/ext/parsley/test/default-namespace.let +3 -0
  175. data/ext/parsley/test/default-namespace.xml +1493 -0
  176. data/ext/parsley/test/div.html +8 -0
  177. data/ext/parsley/test/div.json +1 -0
  178. data/ext/parsley/test/div.let +10 -0
  179. data/ext/parsley/test/empty.html +3 -0
  180. data/ext/parsley/test/empty.json +1 -0
  181. data/ext/parsley/test/empty.let +1 -0
  182. data/ext/parsley/test/emptyish.html +207 -0
  183. data/ext/parsley/test/emptyish.let +3 -0
  184. data/ext/parsley/test/fictional-opt.html +43 -0
  185. data/ext/parsley/test/fictional-opt.json +1 -0
  186. data/ext/parsley/test/fictional-opt.let +14 -0
  187. data/ext/parsley/test/fictional.html +43 -0
  188. data/ext/parsley/test/fictional.json +1 -0
  189. data/ext/parsley/test/fictional.let +14 -0
  190. data/ext/parsley/test/function-magic.html +9 -0
  191. data/ext/parsley/test/function-magic.json +1 -0
  192. data/ext/parsley/test/function-magic.let +8 -0
  193. data/ext/parsley/test/hn.html +32 -0
  194. data/ext/parsley/test/hn.json +1 -0
  195. data/ext/parsley/test/hn.let +8 -0
  196. data/ext/parsley/test/malformed-array.html +2329 -0
  197. data/ext/parsley/test/malformed-array.json +1 -0
  198. data/ext/parsley/test/malformed-array.let +22 -0
  199. data/ext/parsley/test/malformed-expr.html +2329 -0
  200. data/ext/parsley/test/malformed-expr.json +1 -0
  201. data/ext/parsley/test/malformed-expr.let +16 -0
  202. data/ext/parsley/test/malformed-function.html +845 -0
  203. data/ext/parsley/test/malformed-function.json +197 -0
  204. data/ext/parsley/test/malformed-function.let +8 -0
  205. data/ext/parsley/test/malformed-json.html +2329 -0
  206. data/ext/parsley/test/malformed-json.json +1 -0
  207. data/ext/parsley/test/malformed-json.let +6 -0
  208. data/ext/parsley/test/malformed-xpath.html +8 -0
  209. data/ext/parsley/test/malformed-xpath.json +1 -0
  210. data/ext/parsley/test/malformed-xpath.let +7 -0
  211. data/ext/parsley/test/match.json +1 -0
  212. data/ext/parsley/test/match.let +9 -0
  213. data/ext/parsley/test/match.xml +11 -0
  214. data/ext/parsley/test/math_ambiguity.html +9 -0
  215. data/ext/parsley/test/math_ambiguity.json +1 -0
  216. data/ext/parsley/test/math_ambiguity.let +5 -0
  217. data/ext/parsley/test/nth-regression.html +13 -0
  218. data/ext/parsley/test/nth-regression.json +1 -0
  219. data/ext/parsley/test/nth-regression.let +3 -0
  220. data/ext/parsley/test/optional.html +2328 -0
  221. data/ext/parsley/test/optional.json +1 -0
  222. data/ext/parsley/test/optional.let +8 -0
  223. data/ext/parsley/test/outer-xml.html +6 -0
  224. data/ext/parsley/test/outer-xml.json +1 -0
  225. data/ext/parsley/test/outer-xml.let +5 -0
  226. data/ext/parsley/test/position.html +8 -0
  227. data/ext/parsley/test/position.json +1 -0
  228. data/ext/parsley/test/position.let +6 -0
  229. data/ext/parsley/test/question_regressions.html +443 -0
  230. data/ext/parsley/test/question_regressions.json +1 -0
  231. data/ext/parsley/test/question_regressions.let +6 -0
  232. data/ext/parsley/test/quote.json +1 -0
  233. data/ext/parsley/test/quote.let +8 -0
  234. data/ext/parsley/test/quote.xml +11 -0
  235. data/ext/parsley/test/reddit.html +1 -0
  236. data/ext/parsley/test/reddit.json +1 -0
  237. data/ext/parsley/test/reddit.let +12 -0
  238. data/ext/parsley/test/remote-fail.json +1 -0
  239. data/ext/parsley/test/remote.html +3 -0
  240. data/ext/parsley/test/remote.json +1 -0
  241. data/ext/parsley/test/remote.let +4 -0
  242. data/ext/parsley/test/replace.json +1 -0
  243. data/ext/parsley/test/replace.let +9 -0
  244. data/ext/parsley/test/replace.xml +11 -0
  245. data/ext/parsley/test/scope.html +10 -0
  246. data/ext/parsley/test/scope.json +1 -0
  247. data/ext/parsley/test/scope.let +6 -0
  248. data/ext/parsley/test/segfault.html +5 -0
  249. data/ext/parsley/test/segfault.json +1 -0
  250. data/ext/parsley/test/segfault.let +9 -0
  251. data/ext/parsley/test/sg-wrap.html +5 -0
  252. data/ext/parsley/test/sg-wrap.json +1 -0
  253. data/ext/parsley/test/sg-wrap.let +3 -0
  254. data/ext/parsley/test/sg_off.html +5 -0
  255. data/ext/parsley/test/sg_off.json +1 -0
  256. data/ext/parsley/test/sg_off.let +3 -0
  257. data/ext/parsley/test/test.json +1 -0
  258. data/ext/parsley/test/test.let +6 -0
  259. data/ext/parsley/test/test.xml +11 -0
  260. data/ext/parsley/test/trivial.html +2329 -0
  261. data/ext/parsley/test/trivial.json +1 -0
  262. data/ext/parsley/test/trivial.let +4 -0
  263. data/ext/parsley/test/trivial2.html +2329 -0
  264. data/ext/parsley/test/trivial2.json +1 -0
  265. data/ext/parsley/test/trivial2.let +7 -0
  266. data/ext/parsley/test/unbang.html +17 -0
  267. data/ext/parsley/test/unbang.json +1 -0
  268. data/ext/parsley/test/unbang.let +6 -0
  269. data/ext/parsley/test/unicode.html +3 -0
  270. data/ext/parsley/test/unicode.json +1 -0
  271. data/ext/parsley/test/unicode.let +1 -0
  272. data/ext/parsley/test/whitespace.html +8 -0
  273. data/ext/parsley/test/whitespace.json +1 -0
  274. data/ext/parsley/test/whitespace.let +3 -0
  275. data/ext/parsley/test/whitespace_regression.html +4 -0
  276. data/ext/parsley/test/whitespace_regression.json +1 -0
  277. data/ext/parsley/test/whitespace_regression.let +3 -0
  278. data/ext/parsley/test/yelp-benchmark.rb +53 -0
  279. data/ext/parsley/test/yelp-home.html +1004 -0
  280. data/ext/parsley/test/yelp-home.json +1 -0
  281. data/ext/parsley/test/yelp-home.let +6 -0
  282. data/ext/parsley/test/yelp.html +2329 -0
  283. data/ext/parsley/test/yelp.json +1 -0
  284. data/ext/parsley/test/yelp.let +12 -0
  285. data/ext/parsley/test/youtube.html +1940 -0
  286. data/ext/parsley/test/youtube.let +11 -0
  287. data/ext/parsley/util.c +237 -0
  288. data/ext/parsley/util.h +34 -0
  289. data/ext/parsley/xml2json.c +47 -0
  290. data/ext/parsley/xml2json.h +14 -0
  291. data/ext/parsley/y.tab.h +222 -0
  292. data/ext/parsley/ylwrap +222 -0
  293. data/lib/parsley.rb +84 -0
  294. data/test/test_parsley.rb +120 -0
  295. data/test/yelp-benchmark.rb +53 -0
  296. data/test/yelp-home.html +1004 -0
  297. data/test/yelp-home.let +6 -0
  298. data/test/yelp.html +2329 -0
  299. metadata +366 -0
@@ -0,0 +1,2 @@
1
+ Michael Clark <michael@metaparadigm.com>
2
+ C. Watford (christopher.watford@gmail.com)
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2004, 2005 Metaparadigm Pte Ltd
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a
4
+ copy of this software and associated documentation files (the "Software"),
5
+ to deal in the Software without restriction, including without limitation
6
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
7
+ and/or sell copies of the Software, and to permit persons to whom the
8
+ Software is furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included
11
+ in all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -0,0 +1,103 @@
1
+ 0.9
2
+ * Add README.html README-WIN32.html config.h.win32 to Makefile.am
3
+ Michael Clark, <michael@metaparadigm.com>
4
+ * Add const qualifier to the json_tokener_parse functions
5
+ Eric Haszlakiewicz, EHASZLA at transunion dot com
6
+ * Rename min and max so we can never clash with C or C++ std library
7
+ Ian Atha, thatha at yahoo dash inc dot com
8
+ * Fix any noticeable spelling or grammar errors.
9
+ * Make sure every va_start has a va_end.
10
+ * Check all pointers for validity.
11
+ Erik Hovland, erik at hovland dot org
12
+ * Fix json_object_get_boolean to return false for empty string
13
+ Spotted by Vitaly Kruglikov, Vitaly dot Kruglikov at palm dot com
14
+ * optimizations to json_tokener_parse_ex(), printbuf_memappend()
15
+ Brent Miller, bdmiller at yahoo dash inc dot com
16
+ * Disable REFCOUNT_DEBUG by default in json_object.c
17
+ * Don't use this as a variable, so we can compile with a C++ compiler
18
+ * Add casts from void* to type of assignment when using malloc
19
+ * Add #ifdef __cplusplus guards to all of the headers
20
+ * Add typedefs for json_object, json_tokener, array_list, printbuf, lh_table
21
+ Michael Clark, <michael@metaparadigm.com>
22
+ * Null pointer dereference fix. Fix json_object_get_boolean strlen test
23
+ to not return TRUE for zero length string. Remove redundant includes.
24
+ Erik Hovland, erik at hovland dot org
25
+ * Fixed warning reported by adding -Wstrict-prototypes
26
+ -Wold-style-definition to the compilatin flags.
27
+ Dotan Barak, dotanba at gmail dot com
28
+ * Add const correctness to public interfaces
29
+ Gerard Krol, g dot c dot krol at student dot tudelft dot nl
30
+
31
+ 0.8
32
+ * Add va_end for every va_start
33
+ Dotan Barak, dotanba at gmail dot com
34
+ * Add macros to enable compiling out debug code
35
+ Geoffrey Young, geoff at modperlcookbook dot org
36
+ * Fix bug with use of capital E in numbers with exponents
37
+ Mateusz Loskot, mateusz at loskot dot net
38
+ * Add stddef.h include
39
+ * Patch allows for json-c compile with -Werror and not fail due to
40
+ -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
41
+ Geoffrey Young, geoff at modperlcookbook dot org
42
+
43
+ 0.7
44
+ * Add escaping of backslash to json output
45
+ * Add escaping of foward slash on tokenizing and output
46
+ * Changes to internal tokenizer from using recursion to
47
+ using a depth state structure to allow incremental parsing
48
+
49
+ 0.6
50
+ * Fix bug in escaping of control characters
51
+ Johan Bj�rklund, johbjo09 at kth dot se
52
+ * Remove include "config.h" from headers (should only
53
+ be included from .c files)
54
+ Michael Clark <michael@metaparadigm.com>
55
+
56
+ 0.5
57
+ * Make headers C++ compatible by change *this to *obj
58
+ * Add ifdef C++ extern "C" to headers
59
+ * Use simpler definition of min and max in bits.h
60
+ Larry Lansing, llansing at fuzzynerd dot com
61
+
62
+ * Remove automake 1.6 requirement
63
+ * Move autogen commands into autogen.sh. Update README
64
+ * Remove error pointer special case for Windows
65
+ * Change license from LGPL to MIT
66
+ Michael Clark <michael@metaparadigm.com>
67
+
68
+ 0.4
69
+ * Fix additional error case in object parsing
70
+ * Add back sign reversal in nested object parse as error pointer
71
+ value is negative, while error value is positive.
72
+ Michael Clark <michael@metaparadigm.com>
73
+
74
+ 0.3
75
+ * fix pointer arithmetic bug for error pointer check in is_error() macro
76
+ * fix type passed to printbuf_memappend in json_tokener
77
+ * update autotools bootstrap instructions in README
78
+ Michael Clark <michael@metaparadigm.com>
79
+
80
+ 0.2
81
+ * printbuf.c - C. Watford (christopher.watford@gmail.com)
82
+ Added a Win32/Win64 compliant implementation of vasprintf
83
+ * debug.c - C. Watford (christopher.watford@gmail.com)
84
+ Removed usage of vsyslog on Win32/Win64 systems, needs to be handled
85
+ by a configure script
86
+ * json_object.c - C. Watford (christopher.watford@gmail.com)
87
+ Added scope operator to wrap usage of json_object_object_foreach, this
88
+ needs to be rethought to be more ANSI C friendly
89
+ * json_object.h - C. Watford (christopher.watford@gmail.com)
90
+ Added Microsoft C friendly version of json_object_object_foreach
91
+ * json_tokener.c - C. Watford (christopher.watford@gmail.com)
92
+ Added a Win32/Win64 compliant implementation of strndup
93
+ * json_util.c - C. Watford (christopher.watford@gmail.com)
94
+ Added cast and mask to suffice size_t v. unsigned int conversion
95
+ correctness
96
+ * json_tokener.c - sign reversal issue on error info for nested object parse
97
+ spotted by Johan Bj�rklund (johbjo09 at kth.se)
98
+ * json_object.c - escape " in json_escape_str
99
+ * Change to automake and libtool to build shared and static library
100
+ Michael Clark <michael@metaparadigm.com>
101
+
102
+ 0.1
103
+ * initial release
@@ -0,0 +1,302 @@
1
+ Installation Instructions
2
+ *************************
3
+
4
+ Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5
+ 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
6
+
7
+ This file is free documentation; the Free Software Foundation gives
8
+ unlimited permission to copy, distribute and modify it.
9
+
10
+ Basic Installation
11
+ ==================
12
+
13
+ Briefly, the shell commands `./configure; make; make install' should
14
+ configure, build, and install this package. The following
15
+ more-detailed instructions are generic; see the `README' file for
16
+ instructions specific to this package.
17
+
18
+ The `configure' shell script attempts to guess correct values for
19
+ various system-dependent variables used during compilation. It uses
20
+ those values to create a `Makefile' in each directory of the package.
21
+ It may also create one or more `.h' files containing system-dependent
22
+ definitions. Finally, it creates a shell script `config.status' that
23
+ you can run in the future to recreate the current configuration, and a
24
+ file `config.log' containing compiler output (useful mainly for
25
+ debugging `configure').
26
+
27
+ It can also use an optional file (typically called `config.cache'
28
+ and enabled with `--cache-file=config.cache' or simply `-C') that saves
29
+ the results of its tests to speed up reconfiguring. Caching is
30
+ disabled by default to prevent problems with accidental use of stale
31
+ cache files.
32
+
33
+ If you need to do unusual things to compile the package, please try
34
+ to figure out how `configure' could check whether to do them, and mail
35
+ diffs or instructions to the address given in the `README' so they can
36
+ be considered for the next release. If you are using the cache, and at
37
+ some point `config.cache' contains results you don't want to keep, you
38
+ may remove or edit it.
39
+
40
+ The file `configure.ac' (or `configure.in') is used to create
41
+ `configure' by a program called `autoconf'. You need `configure.ac' if
42
+ you want to change it or regenerate `configure' using a newer version
43
+ of `autoconf'.
44
+
45
+ The simplest way to compile this package is:
46
+
47
+ 1. `cd' to the directory containing the package's source code and type
48
+ `./configure' to configure the package for your system.
49
+
50
+ Running `configure' might take a while. While running, it prints
51
+ some messages telling which features it is checking for.
52
+
53
+ 2. Type `make' to compile the package.
54
+
55
+ 3. Optionally, type `make check' to run any self-tests that come with
56
+ the package.
57
+
58
+ 4. Type `make install' to install the programs and any data files and
59
+ documentation.
60
+
61
+ 5. You can remove the program binaries and object files from the
62
+ source code directory by typing `make clean'. To also remove the
63
+ files that `configure' created (so you can compile the package for
64
+ a different kind of computer), type `make distclean'. There is
65
+ also a `make maintainer-clean' target, but that is intended mainly
66
+ for the package's developers. If you use it, you may have to get
67
+ all sorts of other programs in order to regenerate files that came
68
+ with the distribution.
69
+
70
+ 6. Often, you can also type `make uninstall' to remove the installed
71
+ files again.
72
+
73
+ Compilers and Options
74
+ =====================
75
+
76
+ Some systems require unusual options for compilation or linking that
77
+ the `configure' script does not know about. Run `./configure --help'
78
+ for details on some of the pertinent environment variables.
79
+
80
+ You can give `configure' initial values for configuration parameters
81
+ by setting variables in the command line or in the environment. Here
82
+ is an example:
83
+
84
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
85
+
86
+ *Note Defining Variables::, for more details.
87
+
88
+ Compiling For Multiple Architectures
89
+ ====================================
90
+
91
+ You can compile the package for more than one kind of computer at the
92
+ same time, by placing the object files for each architecture in their
93
+ own directory. To do this, you can use GNU `make'. `cd' to the
94
+ directory where you want the object files and executables to go and run
95
+ the `configure' script. `configure' automatically checks for the
96
+ source code in the directory that `configure' is in and in `..'.
97
+
98
+ With a non-GNU `make', it is safer to compile the package for one
99
+ architecture at a time in the source code directory. After you have
100
+ installed the package for one architecture, use `make distclean' before
101
+ reconfiguring for another architecture.
102
+
103
+ On MacOS X 10.5 and later systems, you can create libraries and
104
+ executables that work on multiple system types--known as "fat" or
105
+ "universal" binaries--by specifying multiple `-arch' options to the
106
+ compiler but only a single `-arch' option to the preprocessor. Like
107
+ this:
108
+
109
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
110
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
111
+ CPP="gcc -E" CXXCPP="g++ -E"
112
+
113
+ This is not guaranteed to produce working output in all cases, you
114
+ may have to build one architecture at a time and combine the results
115
+ using the `lipo' tool if you have problems.
116
+
117
+ Installation Names
118
+ ==================
119
+
120
+ By default, `make install' installs the package's commands under
121
+ `/usr/local/bin', include files under `/usr/local/include', etc. You
122
+ can specify an installation prefix other than `/usr/local' by giving
123
+ `configure' the option `--prefix=PREFIX'.
124
+
125
+ You can specify separate installation prefixes for
126
+ architecture-specific files and architecture-independent files. If you
127
+ pass the option `--exec-prefix=PREFIX' to `configure', the package uses
128
+ PREFIX as the prefix for installing programs and libraries.
129
+ Documentation and other data files still use the regular prefix.
130
+
131
+ In addition, if you use an unusual directory layout you can give
132
+ options like `--bindir=DIR' to specify different values for particular
133
+ kinds of files. Run `configure --help' for a list of the directories
134
+ you can set and what kinds of files go in them.
135
+
136
+ If the package supports it, you can cause programs to be installed
137
+ with an extra prefix or suffix on their names by giving `configure' the
138
+ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
139
+
140
+ Optional Features
141
+ =================
142
+
143
+ Some packages pay attention to `--enable-FEATURE' options to
144
+ `configure', where FEATURE indicates an optional part of the package.
145
+ They may also pay attention to `--with-PACKAGE' options, where PACKAGE
146
+ is something like `gnu-as' or `x' (for the X Window System). The
147
+ `README' should mention any `--enable-' and `--with-' options that the
148
+ package recognizes.
149
+
150
+ For packages that use the X Window System, `configure' can usually
151
+ find the X include and library files automatically, but if it doesn't,
152
+ you can use the `configure' options `--x-includes=DIR' and
153
+ `--x-libraries=DIR' to specify their locations.
154
+
155
+ Particular systems
156
+ ==================
157
+
158
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
159
+ CC is not installed, it is recommended to use the following options in
160
+ order to use an ANSI C compiler:
161
+
162
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
163
+
164
+ and if that doesn't work, install pre-built binaries of GCC for HP-UX.
165
+
166
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
167
+ parse its `<wchar.h>' header file. The option `-nodtk' can be used as
168
+ a workaround. If GNU CC is not installed, it is therefore recommended
169
+ to try
170
+
171
+ ./configure CC="cc"
172
+
173
+ and if that doesn't work, try
174
+
175
+ ./configure CC="cc -nodtk"
176
+
177
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
178
+ directory contains several dysfunctional programs; working variants of
179
+ these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
180
+ in your `PATH', put it _after_ `/usr/bin'.
181
+
182
+ On Haiku, software installed for all users goes in `/boot/common',
183
+ not `/usr/local'. It is recommended to use the following options:
184
+
185
+ ./configure --prefix=/boot/common
186
+
187
+ Specifying the System Type
188
+ ==========================
189
+
190
+ There may be some features `configure' cannot figure out
191
+ automatically, but needs to determine by the type of machine the package
192
+ will run on. Usually, assuming the package is built to be run on the
193
+ _same_ architectures, `configure' can figure that out, but if it prints
194
+ a message saying it cannot guess the machine type, give it the
195
+ `--build=TYPE' option. TYPE can either be a short name for the system
196
+ type, such as `sun4', or a canonical name which has the form:
197
+
198
+ CPU-COMPANY-SYSTEM
199
+
200
+ where SYSTEM can have one of these forms:
201
+
202
+ OS
203
+ KERNEL-OS
204
+
205
+ See the file `config.sub' for the possible values of each field. If
206
+ `config.sub' isn't included in this package, then this package doesn't
207
+ need to know the machine type.
208
+
209
+ If you are _building_ compiler tools for cross-compiling, you should
210
+ use the option `--target=TYPE' to select the type of system they will
211
+ produce code for.
212
+
213
+ If you want to _use_ a cross compiler, that generates code for a
214
+ platform different from the build platform, you should specify the
215
+ "host" platform (i.e., that on which the generated programs will
216
+ eventually be run) with `--host=TYPE'.
217
+
218
+ Sharing Defaults
219
+ ================
220
+
221
+ If you want to set default values for `configure' scripts to share,
222
+ you can create a site shell script called `config.site' that gives
223
+ default values for variables like `CC', `cache_file', and `prefix'.
224
+ `configure' looks for `PREFIX/share/config.site' if it exists, then
225
+ `PREFIX/etc/config.site' if it exists. Or, you can set the
226
+ `CONFIG_SITE' environment variable to the location of the site script.
227
+ A warning: not all `configure' scripts look for a site script.
228
+
229
+ Defining Variables
230
+ ==================
231
+
232
+ Variables not defined in a site shell script can be set in the
233
+ environment passed to `configure'. However, some packages may run
234
+ configure again during the build, and the customized values of these
235
+ variables may be lost. In order to avoid this problem, you should set
236
+ them in the `configure' command line, using `VAR=value'. For example:
237
+
238
+ ./configure CC=/usr/local2/bin/gcc
239
+
240
+ causes the specified `gcc' to be used as the C compiler (unless it is
241
+ overridden in the site shell script).
242
+
243
+ Unfortunately, this technique does not work for `CONFIG_SHELL' due to
244
+ an Autoconf bug. Until the bug is fixed you can use this workaround:
245
+
246
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
247
+
248
+ `configure' Invocation
249
+ ======================
250
+
251
+ `configure' recognizes the following options to control how it
252
+ operates.
253
+
254
+ `--help'
255
+ `-h'
256
+ Print a summary of all of the options to `configure', and exit.
257
+
258
+ `--help=short'
259
+ `--help=recursive'
260
+ Print a summary of the options unique to this package's
261
+ `configure', and exit. The `short' variant lists options used
262
+ only in the top level, while the `recursive' variant lists options
263
+ also present in any nested packages.
264
+
265
+ `--version'
266
+ `-V'
267
+ Print the version of Autoconf used to generate the `configure'
268
+ script, and exit.
269
+
270
+ `--cache-file=FILE'
271
+ Enable the cache: use and save the results of the tests in FILE,
272
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
273
+ disable caching.
274
+
275
+ `--config-cache'
276
+ `-C'
277
+ Alias for `--cache-file=config.cache'.
278
+
279
+ `--quiet'
280
+ `--silent'
281
+ `-q'
282
+ Do not print messages saying which checks are being made. To
283
+ suppress all normal output, redirect it to `/dev/null' (any error
284
+ messages will still be shown).
285
+
286
+ `--srcdir=DIR'
287
+ Look for the package's source code in directory DIR. Usually
288
+ `configure' can determine that directory automatically.
289
+
290
+ `--prefix=DIR'
291
+ Use DIR as the installation prefix. *Note Installation Names::
292
+ for more details, including other options available for fine-tuning
293
+ the installation locations.
294
+
295
+ `--no-create'
296
+ `-n'
297
+ Run the configure checks, but stop before creating any output
298
+ files.
299
+
300
+ `configure' also accepts some other, not widely useful, options. Run
301
+ `configure --help' for more details.
302
+
@@ -0,0 +1,43 @@
1
+ AM_CFLAGS = -Wall -Wwrite-strings -Werror -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
2
+
3
+ EXTRA_DIST = README.html README-WIN32.html config.h.win32 doc
4
+
5
+ lib_LTLIBRARIES = libjson.la
6
+
7
+ pkgconfigdir = $(libdir)/pkgconfig
8
+ pkgconfig_DATA = json.pc
9
+
10
+ libjsonincludedir = $(includedir)/json
11
+ libjsoninclude_HEADERS = \
12
+ json.h \
13
+ bits.h \
14
+ debug.h \
15
+ linkhash.h \
16
+ arraylist.h \
17
+ printbuf.h \
18
+ json_util.h \
19
+ json_object.h \
20
+ json_object_private.h \
21
+ json_tokener.h
22
+
23
+ libjson_la_LDFLAGS = -version-info 0:1:0
24
+
25
+ libjson_la_SOURCES = \
26
+ arraylist.c \
27
+ debug.c \
28
+ json_object.c \
29
+ json_tokener.c \
30
+ json_util.c \
31
+ linkhash.c \
32
+ printbuf.c
33
+
34
+ check_PROGRAMS = test1 test2 test3
35
+
36
+ test1_SOURCES = test1.c
37
+ test1_LDADD = $(lib_LTLIBRARIES)
38
+
39
+ test2_SOURCES = test2.c
40
+ test2_LDADD = $(lib_LTLIBRARIES)
41
+
42
+ test3_SOURCES = test3.c
43
+ test3_LDADD = $(lib_LTLIBRARIES)