From 00cadde05c20028ead035c0296e318cccc8bd638 Mon Sep 17 00:00:00 2001 From: Omkar Hegde Date: Tue, 7 Oct 2014 09:40:24 -0700 Subject: [PATCH] 1. Fix for IOT-58. Set the resourceInterfaceName to be default when it is set to empty string. NULL is still considered to be an error condition. 2. NULL string replaced by default interface using strlen(). 3. Removed extra tab 4. Removed unnecessary paranthesis. Changed !strlen() to strlen()==0 5. Changed default interface name macro. Change-Id: I91c159e880f9e5c905c47415b48577f623ff3311 --- csdk/stack/include/internal/ocresource.h | 2 +- csdk/stack/src/occollection.c | 2 +- csdk/stack/src/ocstack.c | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/csdk/stack/include/internal/ocresource.h b/csdk/stack/include/internal/ocresource.h index a0781d8..cb368e1 100644 --- a/csdk/stack/include/internal/ocresource.h +++ b/csdk/stack/include/internal/ocresource.h @@ -29,7 +29,7 @@ #define OC_RSRVD_HREF "href" #define OC_RSRVD_RESOURCE_TYPE "rt" #define OC_RSRVD_INTERFACE "if" -#define OC_RSRVD_DEFAULT "oc.mi.def" +#define OC_RSRVD_INTERFACE_DEFAULT "oc.mi.def" #define OC_RSRVD_INTERFACE_LL "oc.mi.ll" #define OC_RSRVD_INTERFACE_BATCH "oc.mi.b" #define OC_RSRVD_OBSERVABLE "obs" diff --git a/csdk/stack/src/occollection.c b/csdk/stack/src/occollection.c index 1a9dc42..6b96e9b 100644 --- a/csdk/stack/src/occollection.c +++ b/csdk/stack/src/occollection.c @@ -133,7 +133,7 @@ ValidateQuery (const unsigned char *query, OCResourceHandle resource, if(CheckIFParamSupport((OCResource *)resource, ifPtr) != OC_STACK_OK) return OC_STACK_INVALID_QUERY; - if (strcmp (ifPtr, OC_RSRVD_DEFAULT) == 0) + if (strcmp (ifPtr, OC_RSRVD_INTERFACE_DEFAULT) == 0) *ifParam = STACK_IF_DEFAULT; else if (strcmp (ifPtr, OC_RSRVD_INTERFACE_LL) == 0) *ifParam = STACK_IF_LL; diff --git a/csdk/stack/src/ocstack.c b/csdk/stack/src/ocstack.c index ebaae39..bdd6b5d 100644 --- a/csdk/stack/src/ocstack.c +++ b/csdk/stack/src/ocstack.c @@ -731,11 +731,15 @@ OCStackResult OCCreateResource(OCResourceHandle *handle, } // Validate parameters // Is it presented during resource discovery? - if (!handle || !resourceTypeName || !resourceInterfaceName || !uri) { + if (!handle || !resourceTypeName || !uri) { OC_LOG(ERROR, TAG, PCF("Input parameter is NULL")); return OC_STACK_INVALID_PARAM; } + if(!resourceInterfaceName || strlen(resourceInterfaceName) == 0) { + resourceInterfaceName = OC_RSRVD_INTERFACE_DEFAULT; + } + // Make sure resourceProperties bitmask has allowed properties specified if (resourceProperties > (OC_ACTIVE | OC_DISCOVERABLE | OC_OBSERVABLE | OC_SLOW)) { -- 2.7.4