Beispiel #1
0
static mrb_value
hdb_copy(mrb_state *mrb, mrb_value self)
{
  hdb_context *context = DATA_PTR(self);
  char *path;

  mrb_get_args(mrb, "z", &path);

  return mrb_bool_value(tchdbcopy(context->hdb, path));
}
Beispiel #2
0
/* copy */
JNIEXPORT jboolean JNICALL Java_tokyocabinet_HDB_copy
(JNIEnv *env, jobject self, jstring path){
  if(!path){
    throwillarg(env);
    return false;
  }
  TCHDB *hdb = (TCHDB *)(intptr_t)(*env)->GetLongField(env, self, hdb_fid_ptr);
  jboolean icp;
  const char *tpath = (*env)->GetStringUTFChars(env, path, &icp);
  if(!tpath){
    throwoutmem(env);
    return false;
  }
  bool rv = tchdbcopy(hdb, tpath);
  if(icp) (*env)->ReleaseStringUTFChars(env, path, tpath);
  return rv;
}