<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to feature-requests</title><link>https://sourceforge.net/p/cjson/feature-requests/</link><description>Recent changes to feature-requests</description><atom:link href="https://sourceforge.net/p/cjson/feature-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 13 Jan 2016 20:15:47 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/cjson/feature-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>#9 Thread Safety Issue due to "ep"</title><link>https://sourceforge.net/p/cjson/feature-requests/9/?limit=25#df68</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;In order to maintain source compatibility, the extra ep parameter could have a defualt value of NULL, and the implementaiton can treat NULL ep to mean "use the non-thread-safe static".&lt;/p&gt;
&lt;p&gt;If this is not possible, new thread safe flavors of the functions that touch ep would need to be introduced with the extra parameter.&lt;/p&gt;
&lt;p&gt;I think making cJSON thread safe in 2016 should be high priority.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Marcos Kirsch</dc:creator><pubDate>Wed, 13 Jan 2016 20:15:47 -0000</pubDate><guid>https://sourceforge.net29759c03389db63ecf90136e3e6de1d8495a2c4b</guid></item><item><title>Provide support for 64-bit integers</title><link>https://sourceforge.net/p/cjson/feature-requests/11/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I'd like the ability to parse/store integers larger than an int. On most platforms int is 32-bits. So any positive value larger than 31 bits does not work without hacks/workarounds. This is a common use case for me since I'm storing Product IDs which are typically 32 bit long unsigned values.&lt;/p&gt;
&lt;p&gt;The easiest is to change the struct:&lt;/p&gt;
&lt;p&gt;typedef struct cJSON {&lt;br /&gt;
    struct cJSON &lt;em&gt;next,&lt;/em&gt;prev;&lt;br /&gt;
    struct cJSON &lt;em&gt;child;&lt;br /&gt;
    int type;&lt;br /&gt;
    char &lt;/em&gt;valuestring;&lt;br /&gt;
    long long valueint;&lt;br /&gt;
    double valuedouble;&lt;br /&gt;
    char *string;&lt;br /&gt;
} cJSON;&lt;/p&gt;
&lt;p&gt;But of course code around it and tests would need to be updated. I assume the change needs to be opt-in so a typedef surrounded by #define needs to be created.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Marcos Kirsch</dc:creator><pubDate>Fri, 24 Jul 2015 16:16:11 -0000</pubDate><guid>https://sourceforge.net35ead8e0b210d7dfc316dd32ca81acf516bd2cbd</guid></item><item><title>Add a method to list the keys in an object.</title><link>https://sourceforge.net/p/cjson/feature-requests/10/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Something similar to the following:&lt;/p&gt;
&lt;p&gt;static bool get_json_object_keys(cJSON *object, vector&amp;lt;string&amp;gt; *v)&lt;br /&gt;
{&lt;br /&gt;
if(object == NULL)&lt;br /&gt;
return false;&lt;/p&gt;
&lt;p&gt;if(object-&amp;gt;type != cJSON_Object)&lt;br /&gt;
return false;&lt;/p&gt;
&lt;p&gt;v-&amp;gt;clear();&lt;/p&gt;
&lt;p&gt;cJSON *c = object-&amp;gt;child;&lt;br /&gt;
while(c)&lt;br /&gt;
{&lt;br /&gt;
v-&amp;gt;push_back(c-&amp;gt;string);&lt;br /&gt;
c = c-&amp;gt;next;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;return true;&lt;br /&gt;
}&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dustin Oprea</dc:creator><pubDate>Thu, 25 Apr 2013 19:24:38 -0000</pubDate><guid>https://sourceforge.netbb5e5771c4dd8178220ecb4df00d5e68a5e3dc62</guid></item><item><title>Thread Safety Issue due to "ep"</title><link>https://sourceforge.net/p/cjson/feature-requests/9/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;cJSON contains a  static global "ep" pointer that could be a problem for threads safety. I am not sure whether the "thread safety" has been verified for cJSON, but "ep" is one potential problem.&lt;/p&gt;
&lt;p&gt;To fix this, one way is to pass "ep" as parameter to the functions where it is being modified.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">asif</dc:creator><pubDate>Wed, 17 Apr 2013 07:39:35 -0000</pubDate><guid>https://sourceforge.net69bcb1b5f3a0373399324d5f0dd2d9ee27e7334c</guid></item><item><title>UTF-8 encoding: NUL character not supported</title><link>https://sourceforge.net/p/cjson/feature-requests/8/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This might be not very common, but I need to encode (and decode) strings including the control character NUL in the middle of a string (not as string terminator). I would expect that a character byte with a binary value 0 is encoded to \u0000 like a binary value 1 is encoded to \u0001. &lt;br /&gt;
This doesn’t work since the parser uses strlen() to determine the string lengths... maybe a second cJSON_CreateString() function could be created which takes the length as argument. This might speed up code due to missing strlen() calls. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jerome Lang</dc:creator><pubDate>Tue, 29 Nov 2011 15:58:15 -0000</pubDate><guid>https://sourceforge.netbe64e1446df69992b862a14a3d276964fd21db07</guid></item><item><title>Trailing Commas do nothing instead of error</title><link>https://sourceforge.net/p/cjson/feature-requests/7/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I realize it's against the JSON spec, but I'd like to suggest making commas that follow an array or object do nothing instead of raise an error.&lt;/p&gt;
&lt;p&gt;Personally, I find in C/C++ when I'm hardcoding arrays, I leave a trailing comma. An example:&lt;/p&gt;
&lt;p&gt;char* Data[] = {&lt;br /&gt;
"Some text",&lt;br /&gt;
"Some other text",&lt;br /&gt;
};&lt;/p&gt;
&lt;p&gt;This lets me re-arrange the data (copy+paste) without having to update the ends of line. I just wish C++ constructor initializer lists let me do this too. ;)&lt;/p&gt;
&lt;p&gt;This works espcially nicely with line comments (//), removing items with a keystroke (see other feature request).&lt;/p&gt;
&lt;p&gt;Anyways, that's my suggestion(s). Thanks for making such a great library.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mike Kasprzak</dc:creator><pubDate>Tue, 25 Oct 2011 21:02:58 -0000</pubDate><guid>https://sourceforge.netaf2a522926e1e0ac33f0a970cd9a4093312903da</guid></item><item><title>C/C++ style comments</title><link>https://sourceforge.net/p/cjson/feature-requests/6/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Support for C and C++ style comments.&lt;/p&gt;
&lt;p&gt;// C++ Style, a double slash, then all characters until a newline character (0x13 or 0x10) are ignored&lt;br /&gt;
/* C Style, all characters until the closing pattern are ignored */&lt;/p&gt;
&lt;p&gt;I've been doing a bunch of by-hand editing of files, and this is 1 of 2 items I would love to see.&lt;/p&gt;
&lt;p&gt;PS: Great work on the library. Thanks!&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mike Kasprzak</dc:creator><pubDate>Tue, 25 Oct 2011 20:54:39 -0000</pubDate><guid>https://sourceforge.net6028014b32f961d4ef54482d2d8934c3c74253dc</guid></item><item><title>Better warnings when there are syntax erros in input</title><link>https://sourceforge.net/p/cjson/feature-requests/5/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I'm working on an app that in many cases uses a config file which is hand-generated.  cJSON_Parse appears to return NULL if the parse isn't successful, but that's the only indication/output.  There's no way to tell the user where in the JSON the error is or what kind of error it is.    Setting something or returning something that states the error was at line X (or character X) would be a great help.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew Fabbro</dc:creator><pubDate>Thu, 02 Dec 2010 18:59:30 -0000</pubDate><guid>https://sourceforge.netdb06f7d1216cc3502a0fce3cbce699989f7e74e8</guid></item><item><title>Support compilation under -ansi limitations?</title><link>https://sourceforge.net/p/cjson/feature-requests/4/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Are there any thoughts to making cJSON compile under the strict -ansi options?  The main issue is the comment style used is not supported under -ansi.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Nigbur</dc:creator><pubDate>Wed, 12 May 2010 15:58:46 -0000</pubDate><guid>https://sourceforge.net81534c12db62a68b24d6e3f18bc28fc595f23904</guid></item><item><title>overflow warning</title><link>https://sourceforge.net/p/cjson/feature-requests/3/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When I compile I get:&lt;br /&gt;
cJSON.c:135: warning: overflow in implicit constant conversion&lt;/p&gt;
&lt;p&gt;Changing the char firstByteMark to an unsigned char, resolves the compilation warning.&lt;/p&gt;
&lt;p&gt;Attached simple patch.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sun, 31 Jan 2010 21:04:31 -0000</pubDate><guid>https://sourceforge.netb767f15e0b12d03228c7cad15a7cbb38a982ac73</guid></item></channel></rss>