get_arg()不适用于wake_up()

时间:2014-07-19 08:29:38

标签: c g-wan

我在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)

1 个答案:

答案 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.