oic; construct oic status -> coap status table at compile time.

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/a82bf5e9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/a82bf5e9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/a82bf5e9

Branch: refs/heads/develop
Commit: a82bf5e994cf6f922593c211a0220703f464e60c
Parents: ed10225
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Thu Jan 12 17:37:12 2017 -0800
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Thu Jan 12 17:37:12 2017 -0800

----------------------------------------------------------------------
 net/oic/src/api/oc_ri.c | 94 ++++++++++++++++++++------------------------
 1 file changed, 42 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/a82bf5e9/net/oic/src/api/oc_ri.c
----------------------------------------------------------------------
diff --git a/net/oic/src/api/oc_ri.c b/net/oic/src/api/oc_ri.c
index 342338d..f1bce07 100644
--- a/net/oic/src/api/oc_ri.c
+++ b/net/oic/src/api/oc_ri.c
@@ -62,57 +62,48 @@ static uint8_t 
oc_client_cb_area[OS_MEMPOOL_BYTES(MAX_NUM_CONCURRENT_REQUESTS,
 // TODO: Define and use a  complete set of error codes.
 int oc_stack_errno;
 
-static unsigned int oc_coap_status_codes[__NUM_OC_STATUS_CODES__];
-
-static void
-set_mpro_status_codes(void)
-{
-  /* OK_200 */
-  oc_coap_status_codes[OC_STATUS_OK] = CONTENT_2_05;
-  /* CREATED_201 */
-  oc_coap_status_codes[OC_STATUS_CREATED] = CREATED_2_01;
-  /* NO_CONTENT_204 */
-  oc_coap_status_codes[OC_STATUS_CHANGED] = CHANGED_2_04;
-  /* NO_CONTENT_204 */
-  oc_coap_status_codes[OC_STATUS_DELETED] = DELETED_2_02;
-  /* NOT_MODIFIED_304 */
-  oc_coap_status_codes[OC_STATUS_NOT_MODIFIED] = VALID_2_03;
-  /* BAD_REQUEST_400 */
-  oc_coap_status_codes[OC_STATUS_BAD_REQUEST] = BAD_REQUEST_4_00;
-  /* UNAUTHORIZED_401 */
-  oc_coap_status_codes[OC_STATUS_UNAUTHORIZED] = UNAUTHORIZED_4_01;
-  /* BAD_REQUEST_400 */
-  oc_coap_status_codes[OC_STATUS_BAD_OPTION] = BAD_OPTION_4_02;
-  /* FORBIDDEN_403 */
-  oc_coap_status_codes[OC_STATUS_FORBIDDEN] = FORBIDDEN_4_03;
-  /* NOT_FOUND_404 */
-  oc_coap_status_codes[OC_STATUS_NOT_FOUND] = NOT_FOUND_4_04;
-  /* METHOD_NOT_ALLOWED_405 */
-  oc_coap_status_codes[OC_STATUS_METHOD_NOT_ALLOWED] = METHOD_NOT_ALLOWED_4_05;
-  /* NOT_ACCEPTABLE_406 */
-  oc_coap_status_codes[OC_STATUS_NOT_ACCEPTABLE] = NOT_ACCEPTABLE_4_06;
-  /* REQUEST_ENTITY_TOO_LARGE_413 */
-  oc_coap_status_codes[OC_STATUS_REQUEST_ENTITY_TOO_LARGE] =
-    REQUEST_ENTITY_TOO_LARGE_4_13;
-  /* UNSUPPORTED_MEDIA_TYPE_415 */
-  oc_coap_status_codes[OC_STATUS_UNSUPPORTED_MEDIA_TYPE] =
-    UNSUPPORTED_MEDIA_TYPE_4_15;
-  /* INTERNAL_SERVER_ERROR_500 */
-  oc_coap_status_codes[OC_STATUS_INTERNAL_SERVER_ERROR] =
-    INTERNAL_SERVER_ERROR_5_00;
-  /* NOT_IMPLEMENTED_501 */
-  oc_coap_status_codes[OC_STATUS_NOT_IMPLEMENTED] = NOT_IMPLEMENTED_5_01;
-  /* BAD_GATEWAY_502 */
-  oc_coap_status_codes[OC_STATUS_BAD_GATEWAY] = BAD_GATEWAY_5_02;
-  /* SERVICE_UNAVAILABLE_503 */
-  oc_coap_status_codes[OC_STATUS_SERVICE_UNAVAILABLE] =
-    SERVICE_UNAVAILABLE_5_03;
-  /* GATEWAY_TIMEOUT_504 */
-  oc_coap_status_codes[OC_STATUS_GATEWAY_TIMEOUT] = GATEWAY_TIMEOUT_5_04;
-  /* INTERNAL_SERVER_ERROR_500 */
-  oc_coap_status_codes[OC_STATUS_PROXYING_NOT_SUPPORTED] =
-    PROXYING_NOT_SUPPORTED_5_05;
-}
+static const unsigned int oc_coap_status_codes[__NUM_OC_STATUS_CODES__] = {
+    /* OK_200 */
+    [OC_STATUS_OK] = CONTENT_2_05,
+    /* CREATED_201 */
+    [OC_STATUS_CREATED] = CREATED_2_01,
+    /* NO_CONTENT_204 */
+    [OC_STATUS_CHANGED] = CHANGED_2_04,
+    /* NO_CONTENT_204 */
+    [OC_STATUS_DELETED] = DELETED_2_02,
+    /* NOT_MODIFIED_304 */
+    [OC_STATUS_NOT_MODIFIED] = VALID_2_03,
+    /* BAD_REQUEST_400 */
+    [OC_STATUS_BAD_REQUEST] = BAD_REQUEST_4_00,
+    /* UNAUTHORIZED_401 */
+    [OC_STATUS_UNAUTHORIZED] = UNAUTHORIZED_4_01,
+    /* BAD_REQUEST_400 */
+    [OC_STATUS_BAD_OPTION] = BAD_OPTION_4_02,
+    /* FORBIDDEN_403 */
+    [OC_STATUS_FORBIDDEN] = FORBIDDEN_4_03,
+    /* NOT_FOUND_404 */
+    [OC_STATUS_NOT_FOUND] = NOT_FOUND_4_04,
+    /* METHOD_NOT_ALLOWED_405 */
+    [OC_STATUS_METHOD_NOT_ALLOWED] = METHOD_NOT_ALLOWED_4_05,
+    /* NOT_ACCEPTABLE_406 */
+    [OC_STATUS_NOT_ACCEPTABLE] = NOT_ACCEPTABLE_4_06,
+    /* REQUEST_ENTITY_TOO_LARGE_413 */
+    [OC_STATUS_REQUEST_ENTITY_TOO_LARGE] = REQUEST_ENTITY_TOO_LARGE_4_13,
+    /* UNSUPPORTED_MEDIA_TYPE_415 */
+    [OC_STATUS_UNSUPPORTED_MEDIA_TYPE] = UNSUPPORTED_MEDIA_TYPE_4_15,
+    /* INTERNAL_SERVER_ERROR_500 */
+    [OC_STATUS_INTERNAL_SERVER_ERROR] = INTERNAL_SERVER_ERROR_5_00,
+    /* NOT_IMPLEMENTED_501 */
+    [OC_STATUS_NOT_IMPLEMENTED] = NOT_IMPLEMENTED_5_01,
+    /* BAD_GATEWAY_502 */
+    [OC_STATUS_BAD_GATEWAY] = BAD_GATEWAY_5_02,
+    /* SERVICE_UNAVAILABLE_503 */
+    [OC_STATUS_SERVICE_UNAVAILABLE] = SERVICE_UNAVAILABLE_5_03,
+    /* GATEWAY_TIMEOUT_504 */
+    [OC_STATUS_GATEWAY_TIMEOUT] = GATEWAY_TIMEOUT_5_04,
+    /* INTERNAL_SERVER_ERROR_500 */
+    [OC_STATUS_PROXYING_NOT_SUPPORTED] = PROXYING_NOT_SUPPORTED_5_05
+};
 
 #ifdef OC_SERVER
 oc_resource_t *
@@ -217,7 +208,6 @@ void
 oc_ri_init(void)
 {
   oc_random_init(0); // Fix: allow user to seed RNG.
-  set_mpro_status_codes();
 
 #ifdef OC_SERVER
   SLIST_INIT(&oc_app_resources);

Reply via email to