blob: 8967697e54136d665840d110990072f486db32bc [file] [log] [blame]
/*
* svn_jni_misc.c miscelleneous help functions
*
* ====================================================================
* Copyright (c) 2000-2002 CollabNet. All rights reserved.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://subversion.tigris.org/license-1.html.
* If newer versions of this license are posted there, you may use a
* newer version instead, at your option.
*
* This software consists of voluntary contributions made by many
* individuals. For exact contribution history, see the revision
* history and logs, available at http://subversion.tigris.org/.
* ====================================================================
*/
/*** Includes ***/
#include <jni.h>
#include <svn_client.h>
#include "global.h"
/*** Defines ***/
/**
* Do you want to debug code in this file?
* Just uncomment the following define
*/
//#define SVN_JNI_MISC__DEBUG
/*** Code ***/
void
misc__throw_exception_by_name(JNIEnv *env,
const char *name,
const char *msg)
{
jclass cls = NULL;
#ifdef SVN_JNI_MISC__DEBUG
fprintf(stderr, ">>>misc__throw_exception_by_name(");
SVN_JNI__DEBUG_STR(name);
SVN_JNI__DEBUG_STR(msg);
fprintf(stderr, ")\n");
#endif
/* ensure there is enough memory and stuff
* for one local reference
*/
if( (*env)->PushLocalFrame(env, 1) >= 0 )
{
jclass cls = (*env)->FindClass(env, name);
/* if class is null, an exception already has occured */
if( cls != NULL )
{
(*env)->ThrowNew(env, cls, msg);
}
/* pop stack frame */
(*env)->PopLocalFrame(env, NULL);
}
#ifdef SVN_JNI_MISC__DEBUG
fprintf(stderr, "\n<<<misc_throw_exception_by_name\n");
#endif
return;
}
svn_client_auth_baton_t *
misc__make_auth_baton(JNIEnv *env, jobject jobj)
{
/* the code here will build the auth_baton structure
* right now, this doesnt work. now only NULL
* is being returned
*/
#ifdef SVN_JNI_MISC__DEBUG
fprintf(stderr, ">>>misc__make_auth_baton(...)\n");
fprintf(stderr, "<<<misc__make_auth_baton\n");
#endif
return NULL;
}
/*
* local variables:
* eval: (load-file "../../../../tools/dev/svn-dev.el")
* end:
*/