8 int onewire_parser(char *rrd_data, const char **parser_data)
11 const char *server_addr;
14 int max_str = RRD_DATA_MAX_LEN;
17 pr_err("No parser data available\n");
21 server_addr = parser_data[0];
24 pr_err("Server address not specified\n");
28 h = OWNET_init(server_addr);
30 pr_err("Failed to connect to server %s\n", server_addr);
34 while (parser_data[i]) {
35 if (!strcmp("U", parser_data[i])) {
37 ret = snprintf(rrd_data, max_str, "U");
43 pr_info("Reading data for entry %s\n", parser_data[i]);
44 ret = OWNET_read(h, parser_data[i], &tmp);
46 pr_err("Failed to read entry %s\n", parser_data[i]);
50 /* The data from OWNET_read appears to not be NULL terminated */
51 memcpy(buf, tmp, MIN(ret, sizeof(buf) -1));
55 ret = snprintf(rrd_data, max_str, "%s", buf);
64 ret = snprintf(rrd_data, max_str, ":");