When running the test case below the $key variable holds "foo bar" instead
of the expected "foo bar".
-- 8< --
. /usr/share/libubox/jshn.sh
json_init
json_load '{ "key": "foo bar" }'
json_get_var key key
-- >8 --
Quote the output of the "jshn -r" backtick expression to prevent the shell
from erroneously collapsing whitespace.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Patch fixes the following error:
error: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘void *’ [-Werror=format=]
indent_printf(indent, "%s\n", blobmsg_data(data));
Signed-off-by: Luka Perkov <luka@openwrt.org>
Patch fixes build failure:
error: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘uint64_t’ [-Werror=format=]
indent_printf(indent, "%lld\n", *(uint64_t *)data);
Signed-off-by: Luka Perkov <luka@openwrt.org>
Patch fixes following build error:
error: implicit declaration of function ‘close’ [-Werror=implicit-function-declaration]
close(cl->s.fd.fd);
Signed-off-by: Luka Perkov <luka@openwrt.org>
fd and timeout lua object has a __gc method in its metatable. After the object
is freed and the another new object use the same reference in __uloop_cb and
__uloop_fds, the new object will be freed by the old __gc of the old object
when garbag collecting.
Signed-off-by: Xiongfei(Alex) Guo <xfguo@credosemi.com>
When you call the fd_add, it will return an object with `delete` method.
So you can delete that event if you want.
Signed-off-by: Xiongfei(Alex) Guo <xfguo@credosemi.com>
Use uloop.fd_add like this:
local socket = require "socket"
udp = socket.udp()
uloop.fd_add(
udp, -- socket
function( -- callback function
ufd, -- socket object when register the fd
events -- uloop events. eg. uloop.ULOOP_READ .
)
local words, msg_or_ip, port_or_nil = ufd:receivefrom()
print('Recv UDP packet from '..msg_or_ip..':'..port_or_nil..' : '..words)
end,
uloop.ULOOP_READ -- event you want to listen
)
The `examples/uloop-example.lua` show an example of this work.
Signed-off-by: Xiongfei(Alex) Guo <xfguo@credosemi.com>
this script is mostly sourced, so we should try to keep the pollution
of the users environment as low as possible. make the var 'tmp' local
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>
This primarily helps with simplifying the ubus APIs.
blobmsg header presence is indicated by the BLOB_ATTR_EXTENDED bit in
the id_len field.
This changes the format ABI, but not the API.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>