当前位置: 首页 >> 榆树网-系统 >> 文章正文

gpsd-2.95的bug(gpsd.php json_decode error)

gpsd自带一个php程序,只要有php和php-gd就可以生成这样的界面:http://www.rjsystems.nl/gpsd/,可惜当我使用2.95版本的时候,却遇到了错误,按照INSTALL的方法把gpsd.php复制到web目录下,却发现json_decode error。

开始以为是php-json的问题,同事写了个简单的测试脚本,一切正常,最后观察返回的json数据,发现最后多了“]}”字符导致的。

在gpsd-2.95版本出现的bug,别的版本是否存在没有去研究过。

diff -u gpsd.c_old gpsd.c
--- gpsd.c_old  2010-08-29 00:57:24.000000000 +0800
+++ gpsd.c      2010-08-29 00:57:39.000000000 +0800
@@ -1185,7 +1185,7 @@
 }
 if (reply[strlen(reply) - 1] == ',')
 reply[strlen(reply) - 1] = '\0';    /* trim trailing comma */
-       (void)strlcat(reply, "]}]}\r\n", replylen);
+       (void)strlcat(reply, "]}\r\n", replylen);
 } else if (strncmp(buf, "VERSION;", 8) == 0) {
 buf += 8;
 json_version_dump(reply, replylen);

相关文章

发表评论