static v7_val_t Wifi_ip(struct v7 *v7) { v7_val_t res; char *ip = sj_wifi_get_sta_ip(); if (ip == NULL) return v7_create_undefined(); res = v7_create_string(v7, ip, strlen(ip), 1); free(ip); return res; }
SJ_PRIVATE enum v7_err Wifi_ip(struct v7 *v7, v7_val_t *res) { v7_val_t arg0 = v7_arg(v7, 0); char *ip = NULL; ip = v7_is_number(arg0) && v7_get_double(v7, arg0) == 1 ? sj_wifi_get_ap_ip() : sj_wifi_get_sta_ip(); if (ip == NULL) { *res = V7_UNDEFINED; goto clean; } *res = v7_mk_string(v7, ip, strlen(ip), 1); clean: if (ip != NULL) { free(ip); } return V7_OK; }