Browse Source

Add api_add_int16 to API functions.

Con Kolivas 12 years ago
parent
commit
9e22c0ce15
2 changed files with 15 additions and 0 deletions
  1. 13 0
      api.c
  2. 2 0
      miner.h

+ 13 - 0
api.c

@@ -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;

+ 2 - 0
miner.h

@@ -1434,6 +1434,7 @@ enum api_data_type {
 	API_STRING,
 	API_STRING,
 	API_CONST,
 	API_CONST,
 	API_UINT8,
 	API_UINT8,
+	API_INT16,
 	API_UINT16,
 	API_UINT16,
 	API_INT,
 	API_INT,
 	API_UINT,
 	API_UINT,
@@ -1469,6 +1470,7 @@ extern struct api_data *api_add_escape(struct api_data *root, char *name, char *
 extern struct api_data *api_add_string(struct api_data *root, char *name, const char *data, bool copy_data);
 extern struct api_data *api_add_string(struct api_data *root, char *name, const char *data, bool copy_data);
 extern struct api_data *api_add_const(struct api_data *root, char *name, const char *data, bool copy_data);
 extern struct api_data *api_add_const(struct api_data *root, char *name, const char *data, bool copy_data);
 extern struct api_data *api_add_uint8(struct api_data *root, char *name, uint8_t *data, bool copy_data);
 extern struct api_data *api_add_uint8(struct api_data *root, char *name, uint8_t *data, bool copy_data);
+extern struct api_data *api_add_int16(struct api_data *root, char *name, uint16_t *data, bool copy_data);
 extern struct api_data *api_add_uint16(struct api_data *root, char *name, uint16_t *data, bool copy_data);
 extern struct api_data *api_add_uint16(struct api_data *root, char *name, uint16_t *data, bool copy_data);
 extern struct api_data *api_add_int(struct api_data *root, char *name, int *data, bool copy_data);
 extern struct api_data *api_add_int(struct api_data *root, char *name, int *data, bool copy_data);
 extern struct api_data *api_add_uint(struct api_data *root, char *name, unsigned int *data, bool copy_data);
 extern struct api_data *api_add_uint(struct api_data *root, char *name, unsigned int *data, bool copy_data);