OCT 修改删除接口,补充参数异常判断
This commit is contained in:
parent
9794acc41d
commit
3f8d0e4402
|
@ -491,8 +491,7 @@ static int delete_dhcpd_rangeset(data19 *req, const char *pRequest) {
|
|||
sprintf(del_range, "%s-%s", saddr, eaddr);
|
||||
cJSON_AddStringToObject(pdel_Item, "dhcpRange", del_range);
|
||||
//judge whether the input has error
|
||||
if(delRange->key && delRange->value &&
|
||||
(delRange->key == cfig.dhcpRanges[i].rangeStart) && (delRange->value == cfig.dhcpRanges[i].rangeEnd)){
|
||||
if(delRange->key && delRange->value && (delRange->value == cfig.dhcpRanges[i].rangeEnd)){
|
||||
cJSON_AddNumberToObject(pdel_Item, "status", ERR_SUCCESS);
|
||||
cJSON_AddStringToObject(pdel_Item, "message", getErrorEnumDesc(ERR_SUCCESS));
|
||||
cJSON_AddItemToArray(pdelArray, pdel_Item);
|
||||
|
@ -504,6 +503,11 @@ static int delete_dhcpd_rangeset(data19 *req, const char *pRequest) {
|
|||
cJSON_AddStringToObject(pdel_Item, "message", getErrorEnumDesc(ERR_INPUT_PARAMS));
|
||||
cJSON_AddItemToArray(pdelArray, pdel_Item);
|
||||
}
|
||||
|
||||
hash_map *s = (struct hash_map*)malloc(sizeof(struct hash_map));
|
||||
s->key = delRange->key;
|
||||
s->value = 0;
|
||||
HASH_REPLACE_INT(delMap, key, s, delRange);
|
||||
} else {
|
||||
//write to dhcpRanges
|
||||
memcpy(&dhcpRanges[resCount], &cfig.dhcpRanges[i], sizeof(struct data13));
|
||||
|
@ -511,6 +515,31 @@ static int delete_dhcpd_rangeset(data19 *req, const char *pRequest) {
|
|||
}
|
||||
}
|
||||
|
||||
//输入参数不存在的情况
|
||||
if(resCount > cfig.rangeCount - cJSON_GetArraySize(pdhcp_range)){
|
||||
cJSON *pdel_Item = cJSON_CreateObject();
|
||||
hash_map *s = (struct hash_map*)malloc(sizeof(struct hash_map));
|
||||
hash_map *tmp;
|
||||
char saddr[128];
|
||||
char eaddr[128];
|
||||
char del_range[256];
|
||||
memset(del_range, 0, 256);
|
||||
|
||||
HASH_ITER(hh, delMap, s, tmp){
|
||||
if(s->value != 0){
|
||||
IP2String(saddr, ntohl(s->key));
|
||||
IP2String(eaddr, ntohl(s->value));
|
||||
|
||||
sprintf(del_range, "%s-%s", saddr, eaddr);
|
||||
cJSON_AddStringToObject(pdel_Item, "dhcpRange", del_range);
|
||||
|
||||
cJSON_AddNumberToObject(pdel_Item, "status", ERR_ITEM_UNEXISTS);
|
||||
cJSON_AddStringToObject(pdel_Item, "message", getErrorEnumDesc(ERR_ITEM_UNEXISTS));
|
||||
cJSON_AddItemToArray(pdelArray, pdel_Item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//rewite cfig.dhcpRanges
|
||||
for(int i = 0; i < cfig.rangeCount; i++){
|
||||
if(i < resCount){
|
||||
|
|
Loading…
Reference in New Issue