You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ja...@apache.org on 2017/04/26 22:40:54 UTC
[06/50] [abbrv] incubator-mynewt-core git commit: MYNEWT-729
SensorAPI: Send sensor data over OIC
MYNEWT-729 SensorAPI: Send sensor data over OIC
- Use COAP_MAX_URI constant instead of calloc
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/2300485f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/2300485f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/2300485f
Branch: refs/heads/bluetooth5
Commit: 2300485f330a208f43b39f58c4766c8a8711cdf7
Parents: be12bfb
Author: Vipul Rahane <vi...@apache.org>
Authored: Wed Apr 12 16:05:33 2017 -0700
Committer: Vipul Rahane <vi...@apache.org>
Committed: Mon Apr 17 16:14:20 2017 -0700
----------------------------------------------------------------------
hw/sensor/src/sensor_oic.c | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/2300485f/hw/sensor/src/sensor_oic.c
----------------------------------------------------------------------
diff --git a/hw/sensor/src/sensor_oic.c b/hw/sensor/src/sensor_oic.c
index 987e2a7..ab296a7 100644
--- a/hw/sensor/src/sensor_oic.c
+++ b/hw/sensor/src/sensor_oic.c
@@ -460,9 +460,7 @@ sensor_oic_get_data(oc_request_t *request, oc_interface_mask_t interface)
char *typename;
sensor_type_t type;
const char s[2] = "/";
- char *tmpstr;
-
- tmpstr = calloc(request->resource->uri.os_sz, request->resource->uri.os_sz);
+ char tmpstr[COAP_MAX_URI];
memcpy(tmpstr, (char *)&(request->resource->uri.os_str[1]),
request->resource->uri.os_sz - 1);
@@ -517,13 +515,11 @@ sensor_oic_get_data(oc_request_t *request, oc_interface_mask_t interface)
break;
}
- free(tmpstr);
sensor_unregister_listener(sensor, &listener);
oc_rep_end_root_object();
oc_send_response(request, OC_STATUS_OK);
return;
err:
- free(tmpstr);
sensor_unregister_listener(sensor, &listener);
oc_send_response(request, OC_STATUS_NOT_FOUND);
}
@@ -533,8 +529,7 @@ sensor_oic_init(void)
{
oc_resource_t *res;
struct sensor *sensor;
- char *tmpstr;
- size_t bufsize;
+ char tmpstr[COAP_MAX_URI];
char *typename;
int i;
int rc;
@@ -564,25 +559,24 @@ sensor_oic_init(void)
if (rc) {
break;
}
- bufsize = strlen(sensor->s_dev->od_name) + 1;
- tmpstr = (char *)calloc(bufsize, bufsize);
- sprintf(tmpstr, "/%s/%s", sensor->s_dev->od_name, typename);
+
+ memset(tmpstr, 0, sizeof(tmpstr));
+ snprintf(tmpstr, sizeof(tmpstr), "/%s/%s",
+ sensor->s_dev->od_name, typename);
res = oc_new_resource(tmpstr, 1, 0);
- free(tmpstr);
- bufsize = strlen(sensor->s_dev->od_name) + sizeof("sensors.r.");
- tmpstr = (char *)calloc(bufsize, bufsize);
- sprintf(tmpstr, "sensors.r.%s", sensor->s_dev->od_name);
+ memset(tmpstr, 0, sizeof(tmpstr));
+ snprintf(tmpstr, sizeof(tmpstr), "sensors.r.%s", sensor->s_dev->od_name);
oc_resource_bind_resource_type(res, tmpstr);
- free(tmpstr);
oc_resource_bind_resource_interface(res, OC_IF_R);
oc_resource_set_default_interface(res, OC_IF_R);
oc_resource_set_discoverable(res);
oc_resource_set_periodic_observable(res, 1);
- oc_resource_set_request_handler(res, OC_GET, sensor_oic_get_data);
+ oc_resource_set_request_handler(res, OC_GET,
+ sensor_oic_get_data);
oc_add_resource(res);
}
i++;