change dic.get to return an error code upon search failure
This commit is contained in:
		| @ -1138,7 +1138,8 @@ struct hcl_t | |||||||
| 		HCL_STACK_SETTOP(hcl, (retv)); \ | 		HCL_STACK_SETTOP(hcl, (retv)); \ | ||||||
| 	} while(0) | 	} while(0) | ||||||
|  |  | ||||||
| #define HCL_STACK_SETRETTORCV(hcl,nargs) (HCL_STACK_POPS(hcl, nargs)) | #define HCL_STACK_SETRETTOERRNUM(hcl,nargs) HCL_STACK_SETRET(hcl, nargs, HCL_ERROR_TO_OOP(hcl->errnum)) | ||||||
|  | #define HCL_STACK_SETRETTOERROR(hcl,nargs,ec) HCL_STACK_SETRET(hcl, nargs, HCL_ERROR_TO_OOP(ec)) | ||||||
|  |  | ||||||
|  |  | ||||||
| /* ========================================================================= | /* ========================================================================= | ||||||
|  | |||||||
| @ -45,10 +45,8 @@ static hcl_pfrc_t pf_dic_get (hcl_t* hcl, hcl_ooi_t nargs) | |||||||
| 	pair = hcl_getatdic(hcl, (hcl_oop_dic_t)dic, key); | 	pair = hcl_getatdic(hcl, (hcl_oop_dic_t)dic, key); | ||||||
| 	if (!pair) | 	if (!pair) | ||||||
| 	{ | 	{ | ||||||
| 		/* TODO: arrange to return ERROR instead of returnin HCL_PF_FAILURE*/ | 		HCL_STACK_SETRETTOERROR (hcl, nargs, HCL_ENOENT); | ||||||
| 		hcl_seterrbfmt (hcl, HCL_EINVAL, "invalid key - %O", key); | 		return HCL_PF_SUCCESS; | ||||||
| 		return HCL_PF_FAILURE; |  | ||||||
|  |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	HCL_STACK_SETRET (hcl, nargs, HCL_CONS_CDR(pair)); | 	HCL_STACK_SETRET (hcl, nargs, HCL_CONS_CDR(pair)); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user