knh_String_t* knh_getPropertyNULL(Ctx *ctx, knh_bytes_t key) { if(knh_bytes_startsWith(key, STEXT("env."))) { knh_cwb_t cwbbuf, *cwb = knh_cwb_open(ctx, &cwbbuf); knh_cwb_nzenvkey(ctx, cwb, knh_bytes_last(key, 4)); char *v = knh_getenv(knh_cwb_tochar(ctx, cwb)); knh_cwb_close(cwb); if(v == NULL) return NULL; return new_S(ctx, B(v)); } return (knh_String_t*)knh_DictMap_getNULL(ctx, DP(ctx->sys)->props, key); }
static METHOD knh__String_startsWith(Ctx *ctx, knh_sfp_t *sfp) { KNH_RETURN_Boolean(ctx, sfp, knh_bytes_startsWith(knh_String_tobytes(sfp[0].s), knh_String_tobytes(sfp[1].s))); }