我在printf
的{{1}}下添加了xbuf_xcat
声明,如下所示:
stream3.c
预计会从http参数打印时间
但它会打印xbuf_xcat(reply, "%x\r\n%s\r\n", len, readbuf);
char *client_arg_time=0;
get_arg("time=", & client_arg_time, argc, argv);
printf("%s\n", client_arg_time);
,但第一个除外。
我的代码有什么问题?
我使用的是ubuntu 12.04,G-WAN 4.3.14
编辑=======================
http与uri?time = 1223456,因此get_arg(“time =”,...)函数获取“1223456”并打印到屏幕。没关系,但只打印一次。当wake_up()唤醒脚本时,它应该打印另一个“1223456”,但它会打印“(null)”。如果你从gwan检查示例stream3.c,你可以找到“xbuf_xcat(回复,”%x \ r \ n%s \ r \ n“,len,readbuf)行;”如下面靠近底部。 (引自gwan example,stream3.c):
(null)
答案 0 :(得分:0)
如果wake_up以相同的配置运行请求,我不会感到不舒服。
我会在gc_alloc的data_t结构上保存我需要的所有内容,因为它是我们知道的内存区域,由wake_up调用保存和使用。 首先,扩展data_t结构以适应您的信息。在第2步之前进行设置,并在当前使用它的地方阅读。
typedef struct {int f;u32 time;} data_t;
...
char *client_arg_time=0;
get_arg("time=", &client_arg_time, argc, argv);
(*data)->time = atol(client_arg_time);
...
// HERE! added code.
printf("%u\n", (*data)->time);
// End of my added code.