#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char *address;
int port;
unsigned int nodeId;
} node;
void r(char* addr, int port, char* request, char* answer)
{
char a[100];
answer[0] = 0;
unsigned int i;
for (i = 0; i < 10; ++i)
{
sprintf (a
, "nodeId:%u nodeAddress:%s nodePort:%d\n", i
, addr
, port
); }
}
int function (char *addr, int port, node * ft) {
char request[8192], answer[8192];
char *token;
int c = 0;
snprintf(request
, sizeof(request
), "Keyword"); r(addr, port, request, answer);
printf("answer at this point is:\n%s\n", answer
); memset(&token
, '\0', sizeof(token
));
while (token != NULL) {
printf("Token:\n%s\n", token
); printf("Token addr:%p\n", &token
); "nodeId:%u nodeAddress:%s nodePort:%d",
&ft[c].nodeId, ft[c].address, &ft[c].port);
printf("id: %u\n", ft
[c
].
nodeId); printf("addr: %s\n", ft
[c
].
address); printf("port: %d\n", ft
[c
].
port); printf("Token after:\n%s\n", token
); printf("==========================\n"); c++;
}
return c;
}
int main ()
{
node
* z
= malloc(sizeof(node
)*100); int i;
for (i = 0; i < 100; ++i)
function("127.0.0.1", 6550, z);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgY2hhciAqYWRkcmVzczsKICAgIGludCBwb3J0OwogICAgdW5zaWduZWQgaW50IG5vZGVJZDsKfSBub2RlOwoKdm9pZCByKGNoYXIqIGFkZHIsIGludCBwb3J0LCBjaGFyKiByZXF1ZXN0LCBjaGFyKiBhbnN3ZXIpCnsKICAgIGNoYXIgYVsxMDBdOwogICAgYW5zd2VyWzBdID0gMDsKICAgIHVuc2lnbmVkIGludCBpOwogICAgZm9yIChpID0gMDsgaSA8IDEwOyArK2kpCiAgICB7CiAgICAgICAgc3ByaW50ZiAoYSwgIm5vZGVJZDoldSBub2RlQWRkcmVzczolcyBub2RlUG9ydDolZFxuIiwgaSwgYWRkciwgcG9ydCk7CiAgICAgICAgc3RyY2F0KGFuc3dlciwgYSk7CiAgICB9Cn0KCmludCBmdW5jdGlvbiAoY2hhciAqYWRkciwgaW50IHBvcnQsIG5vZGUgKiBmdCkgewogICAgY2hhciByZXF1ZXN0WzgxOTJdLCBhbnN3ZXJbODE5Ml07CiAgICBjaGFyICp0b2tlbjsKICAgIGludCBjID0gMDsKCiAgICBzbnByaW50ZihyZXF1ZXN0LCBzaXplb2YocmVxdWVzdCksICJLZXl3b3JkIik7CiAgICByKGFkZHIsIHBvcnQsIHJlcXVlc3QsIGFuc3dlcik7CgogICAgcHJpbnRmKCJhbnN3ZXIgYXQgdGhpcyBwb2ludCBpczpcbiVzXG4iLCBhbnN3ZXIpOwogICAgbWVtc2V0KCZ0b2tlbiwgJ1wwJywgc2l6ZW9mKHRva2VuKSk7CgogICAgdG9rZW4gPSBzdHJ0b2soYW5zd2VyLCAiXG4iKTsKICAgIHdoaWxlICh0b2tlbiAhPSBOVUxMKSB7CiAgICAgICAgcHJpbnRmKCJjID0gJWRcbiIsIGMpOwogICAgICAgIHByaW50ZigiVG9rZW46XG4lc1xuIiwgdG9rZW4pOwogICAgICAgIHByaW50ZigiVG9rZW4gYWRkcjolcFxuIiwgJnRva2VuKTsKICAgICAgICBzc2NhbmYodG9rZW4sCiAgICAgICAgICAgICAgICJub2RlSWQ6JXUgbm9kZUFkZHJlc3M6JXMgbm9kZVBvcnQ6JWQiLAogICAgICAgICAgICAgICAmZnRbY10ubm9kZUlkLCBmdFtjXS5hZGRyZXNzLCAmZnRbY10ucG9ydCk7CiAgICAgICAgcHJpbnRmKCJpZDogJXVcbiIsIGZ0W2NdLm5vZGVJZCk7CiAgICAgICAgcHJpbnRmKCJhZGRyOiAlc1xuIiwgZnRbY10uYWRkcmVzcyk7CiAgICAgICAgcHJpbnRmKCJwb3J0OiAlZFxuIiwgZnRbY10ucG9ydCk7CiAgICAgICAgdG9rZW4gPSBzdHJ0b2soTlVMTCwgIlxuIik7CiAgICAgICAgcHJpbnRmKCJUb2tlbiBhZnRlcjpcbiVzXG4iLCB0b2tlbik7CiAgICAgICAgcHJpbnRmKCI9PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CiAgICAgICAgYysrOwogICAgfQogICAgcmV0dXJuIGM7Cn0KCmludCBtYWluICgpCnsKICAgIG5vZGUqIHogPSBtYWxsb2Moc2l6ZW9mKG5vZGUpKjEwMCk7CiAgICBpbnQgaTsKICAgIGZvciAoaSA9IDA7IGkgPCAxMDA7ICsraSkKICAgICAgICB6W2ldLmFkZHJlc3MgPSBtYWxsb2MoMTAwKTsKICAgIGZ1bmN0aW9uKCIxMjcuMC4wLjEiLCA2NTUwLCB6KTsKfQo=