mturk 2005/06/03 00:35:07 Modified: jni/native/include tcn.h jni/native/src error.c Log: Add generic throw for printf style arguments. Revision Changes Path 1.11 +2 -2 jakarta-tomcat-connectors/jni/native/include/tcn.h Index: tcn.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/include/tcn.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- tcn.h 1 Jun 2005 06:38:09 -0000 1.10 +++ tcn.h 3 Jun 2005 07:35:07 -0000 1.11 @@ -56,7 +56,7 @@ JNIEXPORT RT JNICALL Java_org_apache_tomcat_jni_##CL##_##FN /* Private helper functions */ -void tcn_Throw(JNIEnv *env, const char *cname, const char *msg); +void tcn_Throw(JNIEnv *env, const char *fmt, ...); void tcn_ThrowException(JNIEnv *env, const char *msg); void tcn_ThrowAPRException(JNIEnv *env, apr_status_t err); jstring tcn_new_string(JNIEnv *env, const char *str, int l); 1.8 +17 -4 jakarta-tomcat-connectors/jni/native/src/error.c Index: error.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/error.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- error.c 24 May 2005 09:24:40 -0000 1.7 +++ error.c 3 Jun 2005 07:35:07 -0000 1.8 @@ -18,9 +18,10 @@ * @author Mladen Turk * @version $Revision$, $Date$ */ - + #include "apr.h" #include "apr_pools.h" +#include "apr_strings.h" #include "tcn.h" /* Merge IS_ETIMEDOUT with APR_TIMEUP @@ -29,7 +30,7 @@ /* * Convenience function to help throw an Exception. */ -void tcn_Throw(JNIEnv *env, const char *cname, const char *msg) +static void do_throw(JNIEnv *env, const char *cname, const char *msg) { jclass javaExceptionClass; @@ -47,7 +48,19 @@ */ void tcn_ThrowException(JNIEnv *env, const char *msg) { - tcn_Throw(env, "java/lang/Exception", msg); + do_throw(env, "java/lang/Exception", msg); +} + +void tcn_Throw(JNIEnv *env, const char *fmt, ...) +{ + char msg[TCN_BUFFER_SZ] = {'\0'}; + va_list ap; + + va_start(ap, fmt); + apr_vsnprintf(msg, TCN_BUFFER_SZ, fmt, ap); + do_throw(env, "java/lang/Exception", msg); + va_end(ap); + free(msg); } /*
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]