rem: if (!SCHEME_PATHP(argv[1])) scheme_wrong_type(name, "string", 1, argc, argv);
add: if (!SCHEME_PATH_STRINGP(argv[1])) scheme_wrong_type(name, SCHEME_PATH_STRING_STR, 1, argc, argv);
context: ctx_load_file(const char *name, int mode, int client_ok, int argc, Scheme_Object *argv[]){  char *filename;  const char *what;  int result, use_rsa = 1, format = SSL_FILETYPE_PEM;  SSL_CTX *ctx;    if (!SAME_TYPE(SCHEME_TYPE(argv[0]), ssl_listener_type)      && (! client_ok || !SAME_TYPE(SCHEME_TYPE(argv[0]), ssl_ctx_type)))    scheme_wrong_type(name, 		      (client_ok ? "ssl-listener or ssl-client-context" : "ssl-listener"),		      0, argc, argv);  if (!SCHEME_PATHP(argv[1]))    scheme_wrong_type(name, "string", 1, argc, argv);  if (mode == mzssl_RSA_KEY) {    if (argc > 2)      use_rsa = SCHEME_TRUEP(argv[2]);    if (argc > 3)      if (SCHEME_TRUEP(argv[3]))	format = SSL_FILETYPE_ASN1;  }    filename = scheme_expand_string_filename(argv[1],					   name,					   NULL,					   SCHEME_GUARD_FILE_READ);  if (SAME_TYPE(SCHEME_TYPE(argv[0]), ssl_listener_type))    ctx = ((listener_t *)(argv[0]))->ctx;  else    ctx = ((mzssl_ctx_t *)(argv[0]))->ctx;    if (mode == mzssl_CERT_CHAIN) {    result = SSL_CTX_use_certificate_chain_file(ctx, filename);    what = "certificate chain";  } else if (mode == mzssl_CERT_ROOT) {    result = SSL_CTX_load_verify_locations(ctx, filename, NULL);    what = "root certificates";  } else if (mode == mzssl_CERT_REQ) {    GC_CAN_IGNORE STACK_OF(X509_NAME) *stk;    stk = SSL_load_client_CA_file(filename);    if (stk) {      result = 1;      SSL_CTX_set_client_CA_list(ctx, stk);    } else      result = 0;    what = "suggested certificate authorities";  } else if (mode == mzssl_RSA_KEY) {    if (use_rsa)      result = SSL_CTX_use_RSAPrivateKey_file(ctx, filename, format);    else      result = SSL_CTX_use_PrivateKey_file(ctx, filename, format);    what = "private key";  }  if (result != 1) {    int errid;    const char *errstr;    errid = get_ssl_error_msg(ERR_get_error(), &errstr, 0, 0);    scheme_raise_exn(MZEXN_FAIL_FILESYSTEM,		     "%s: %s load failed from: %s (%Z)",		     name, what, filename, errid, errstr);    return NULL;  }  return scheme_void;}