void *knh_path_dlopen(CTX ctx, knh_path_t *ph) { knh_bytes_t t = {{P_text(ph)}, ph->plen}; if(!knh_bytes_endsWith(t, STEXT(K_OSDLLEXT))) { knh_path_append(ctx, ph, 0/*sep*/, K_OSDLLEXT); } return knh_dlopen(ctx, P_text(ph) + ph->pbody); }
static METHOD knh__String_endsWith(Ctx *ctx, knh_sfp_t *sfp) { KNH_RETURN_Boolean(ctx, sfp, knh_bytes_endsWith(knh_String_tobytes(sfp[0].s), knh_String_tobytes(sfp[1].s))); }