if (jdata) { data = env->GetStringUTFChars(jdata, &iscopy); if (!data) { JavaDOMGlobals::ThrowException(env,
const char* data = env->GetStringUTFChars(jdata, &iscopy); if (!data) { JavaDOMGlobals::ThrowException(env,
JNIEXPORT void JNICALL Java_org_mozilla_dom_ProcessingInstructionImpl_setData  (JNIEnv *env, jobject jthis, jstring jdata){  nsIDOMProcessingInstruction* pi = (nsIDOMProcessingInstruction*)     env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID);  if (!pi) {    JavaDOMGlobals::ThrowException(env,      "ProcessingInstruction.setData: NULL pointer");    return;  }  const char* data = NULL;  jboolean iscopy = JNI_FALSE;  if (jdata) {    data = env->GetStringUTFChars(jdata, &iscopy);    if (!data) {      JavaDOMGlobals::ThrowException(env,        "ProcessingInstruction.setData: GetStringUTFChars failed");      return;    }  }  nsresult rv = pi->SetData(data);  if (iscopy == JNI_TRUE)    env->ReleaseStringUTFChars(jdata, data);  if (NS_FAILED(rv)) {    JavaDOMGlobals::ExceptionType exceptionType = JavaDOMGlobals::EXCEPTION_RUNTIME;    if (rv == NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR) {      exceptionType = JavaDOMGlobals::EXCEPTION_DOM;    }    JavaDOMGlobals::ThrowException(env,      "ProcessingInstruction.setData: failed", rv, exceptionType);    return;  }}