/* * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved * * @author Scott Ferguson */ #ifdef WIN32 #ifndef _WINSOCKAPI_ #define _WINSOCKAPI_ #endif #include #include #else #include #include #include #include #include #include #endif #ifdef linux #include #endif #include #include #include #include #include #include #include #include /* probably system-dependent */ #include #include "resin.h" void resin_throw_exception(JNIEnv *env, const char *cl, const char *buf) { jclass clazz; if (env && ! (*env)->ExceptionOccurred(env)) { clazz = (*env)->FindClass(env, cl); if (clazz) { (*env)->ThrowNew(env, clazz, buf); return; } } fprintf(stderr, "%s\n", buf); } void resin_printf_exception(JNIEnv *env, const char *cl, const char *fmt, ...) { char buf[8192]; va_list list; jclass clazz; va_start(list, fmt); vsprintf(buf, fmt, list); va_end(list); if (env && ! (*env)->ExceptionOccurred(env)) { clazz = (*env)->FindClass(env, cl); if (clazz) { (*env)->ThrowNew(env, clazz, buf); return; } } fprintf(stderr, "%s\n", buf); }