1
我是JSON-C的新手,我需要知道是否有可以使用json_tokener_parse解析的字符串的任何大小限制。使用JSON-C解析的字符串的最大尺寸
所以基本上我需要知道当我使用json_object * jobj = json_tokener_parse(string)
,是否有任何可以传递的字符串的大小限制。
在此先感谢。
while (ret==0)
{
if((ret = dbcp->c_get(dbcp, &keyd, &datad, DB_NEXT))==0){
if(vflag) {
printf("broadcast_mode: after dbcp->c_get(dbcp, &keyd, &datad, DB_NEXT)\n");
}
my = (myrecord *) datad.data;
if(vflag) {
printf("broadcast_mode: after my = (myrecord *) datad.data\n");
}
if(vflag) {
printf("db: %d: key retrieved: data was %s, %d\n", *(int *)keyd.data,my->src, datad.size);
}
}
}
if(vflag) {
printf("broadcast_mode: dbp->c_get 2\n");
}
if ((ret = dbcp->c_get(dbcp, &keyd, &datad, DB_NEXT)) !=0)
{
if(vflag) {
dbp->err(dbp, ret, "DBcursor->get");
}
//goto err;
}
if(vflag) {
printf("broadcast_mode: dbp->c_close\n");
}
if ((ret = dbcp->c_close(dbcp)) != 0)
{
dbp->err(dbp, ret, "DBcursor->close");
//return (1);
}
ret = dbp->close(dbp, 0);
if(vflag) {
printf("broadcast_mode: json_tokener_parse(my->src)\n");
printf("broadcast_mode: address is %x,%d\n",(unsigned int)my->src,datad.size);
}
json_object * jobj = json_tokener_parse(my->src);
here when datad.size is 1024 i get segmentation fault and it works when size is 500
嘿,我有这个问题 - > json_object * jobj = json_tokener_parse(my-> src);这是my-> src是存储在.DB文件中的数据的指针。当src初始化为字符大小为1024(创建DB文件时)时,它会给我分段错误,当它的大小为500时,它会正常工作。 – user537670
如果你确实有问题发布一些代码来演示它... – ThiefMaster
我修改了我的问题。它现在有代码 – user537670