|
@@ -753,6 +753,11 @@ static struct api_data *api_add_data_full(struct api_data *root, char *name, enu
|
|
|
api_data->data = malloc(4);
|
|
api_data->data = malloc(4);
|
|
|
*(uint8_t *)api_data->data = *(uint8_t *)data;
|
|
*(uint8_t *)api_data->data = *(uint8_t *)data;
|
|
|
break;
|
|
break;
|
|
|
|
|
+ case API_INT16:
|
|
|
|
|
+ /* Most OSs won't really alloc less than 4 */
|
|
|
|
|
+ api_data->data = malloc(4);
|
|
|
|
|
+ *(int16_t *)api_data->data = *(int16_t *)data;
|
|
|
|
|
+ break;
|
|
|
case API_UINT16:
|
|
case API_UINT16:
|
|
|
/* Most OSs won't really alloc less than 4 */
|
|
/* Most OSs won't really alloc less than 4 */
|
|
|
api_data->data = malloc(4);
|
|
api_data->data = malloc(4);
|
|
@@ -838,6 +843,11 @@ struct api_data *api_add_uint8(struct api_data *root, char *name, uint8_t *data,
|
|
|
return api_add_data_full(root, name, API_UINT8, (void *)data, copy_data);
|
|
return api_add_data_full(root, name, API_UINT8, (void *)data, copy_data);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+struct api_data *api_add_int16(struct api_data *root, char *name, uint16_t *data, bool copy_data)
|
|
|
|
|
+{
|
|
|
|
|
+ return api_add_data_full(root, name, API_INT16, (void *)data, copy_data);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
struct api_data *api_add_uint16(struct api_data *root, char *name, uint16_t *data, bool copy_data)
|
|
struct api_data *api_add_uint16(struct api_data *root, char *name, uint16_t *data, bool copy_data)
|
|
|
{
|
|
{
|
|
|
return api_add_data_full(root, name, API_UINT16, (void *)data, copy_data);
|
|
return api_add_data_full(root, name, API_UINT16, (void *)data, copy_data);
|
|
@@ -984,6 +994,9 @@ static struct api_data *print_data(struct api_data *root, char *buf, bool isjson
|
|
|
case API_UINT8:
|
|
case API_UINT8:
|
|
|
sprintf(buf, "%u", *(uint8_t *)root->data);
|
|
sprintf(buf, "%u", *(uint8_t *)root->data);
|
|
|
break;
|
|
break;
|
|
|
|
|
+ case API_INT16:
|
|
|
|
|
+ sprintf(buf, "%d", *(int16_t *)root->data);
|
|
|
|
|
+ break;
|
|
|
case API_UINT16:
|
|
case API_UINT16:
|
|
|
sprintf(buf, "%u", *(uint16_t *)root->data);
|
|
sprintf(buf, "%u", *(uint16_t *)root->data);
|
|
|
break;
|
|
break;
|