/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */ #ifdef JCGO_SEPARATED #define JCGO_116 #include "jcgortl.h" #include "Main.h" #endif #ifdef JCGO_116 #ifdef CHKALL_java_io_OutputStreamWriter #include "jcgobchk.h" #endif JCGO_NOSEP_INLINE void CFASTCALL java_io_OutputStreamWriter__void( java_io_OutputStreamWriter This ) { JCGO_FIELD_NZACCESS(This, outputBuffer)= (java_nio_CharBuffer__allocate__I( java_io_OutputStreamWriter__BUFFER_SIZE)); } JCGO_NOSEP_INLINE jbyte CFASTCALL java_io_OutputStreamWriter__nullConversion__C( jchar c ) { { return (jbyte)((jchar)(((jint)c <= (jint)255)? c : (jchar)63/*'?'*/)); } } JCGO_NOSEP_INLINE void CFASTCALL java_io_OutputStreamWriter__flush__( java_io_OutputStreamWriter This ) { { if (JCGO_FIELD_NZACCESS(This, out) != jnull) { jObject jcgo_rcvrL1; (java_io_OutputStreamWriter__flushBuffer__( This)); (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, out), JCGO_CALL_VFUNC((java_io_OutputStream)jcgo_rcvrL1)->flush__( (java_io_OutputStream)jcgo_rcvrL1)); } } } JCGO_NOSEP_STATIC java_io_OutputStreamWriter CFASTCALL java_io_OutputStreamWriter__this__L0rv4gLs( java_io_OutputStreamWriter This, java_io_OutputStream out, java_lang_String encoding_scheme ) { { java_nio_charset_CharsetEncoder JCGO_TRY_VOLATILE encoder; java_lang_String JCGO_TRY_VOLATILE encodingName; (java_io_Writer__this__((java_io_Writer)This)); java_io_OutputStreamWriter__void(This); JCGO_FIELD_NZACCESS(This, out)= out; { JCGO_TRY_BLOCK { if ((gnu_java_nio_charset_EncodingHelper__isISOLatin1__Ls( encoding_scheme))) { encodingName= JCGO_STRREF_OF(jcgo_string2_VMSystem); encoder= (java_nio_charset_CharsetEncoder)jnull; } else { java_lang_String adjustedEncoding; java_nio_charset_Charset cs; adjustedEncoding= (java_io_OutputStreamWriter__adjustUnicodeEncoding__Ls( encoding_scheme)); if (adjustedEncoding != encoding_scheme) { JCGO_FIELD_NZACCESS(This, needsUnicodeBOM)= (jboolean)jtrue; } cs= (gnu_java_nio_charset_EncodingHelper__getCharset__Ls( adjustedEncoding)); if (cs == jnull) { struct java_lang_StringBuilder_s jcgo_stackobj1; JCGO_THROW_EXC((java_io_UnsupportedEncodingException__new__Ls( java_lang_String__new__L5dy9e( java_lang_StringBuilder__append__Ls( java_lang_StringBuilder__append__Ls( java_lang_StringBuilder__append__Ls( java_lang_StringBuilder__this__( JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_StringBuilder_methods)), JCGO_STRREF_OF(jcgo_string2_OtptStWr)), encoding_scheme), JCGO_STRREF_OF(jcgo_string3_OtptStWr)))))); } encoder= (JCGO_CALL_NZVFUNC(cs)->newEncoder__( cs)); encodingName= (gnu_java_nio_charset_EncodingHelper__getOldCanonical__Ls( (java_nio_charset_Charset__name__( cs)))); (JCGO_CALL_EFINALF(encoder) java_nio_charset_CharsetEncoder__onMalformedInput__L6zetg( encoder, JCGO_CLINIT_VARACC(java_nio_charset_CodingErrorAction__class, java_nio_charset_CodingErrorAction__REPLACE))); (java_nio_charset_CharsetEncoder__onUnmappableCharacter__L6zetg( encoder, java_nio_charset_CodingErrorAction__REPLACE)); } } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_lang_RuntimeException, MAXT_java_lang_RuntimeException) { encoder= (java_nio_charset_CharsetEncoder)jnull; JCGO_FIELD_NZACCESS(This, needsUnicodeBOM)= (jboolean)jfalse; encodingName= JCGO_STRREF_OF(jcgo_string2_VMSystem); } JCGO_TRY_RETHROW(1) } JCGO_FIELD_NZACCESS(This, encoder)= encoder; (void)encodingName; } return This; } JCGO_NOSEP_FRWINL java_io_OutputStreamWriter CFASTCALL java_io_OutputStreamWriter__new__L0rv4gLs( java_io_OutputStream out, java_lang_String encoding_scheme ) { return java_io_OutputStreamWriter__this__L0rv4gLs( (java_io_OutputStreamWriter)jcgo_newObject((jvtable)&java_io_OutputStreamWriter_methods), out, encoding_scheme); } JCGO_NOSEP_STATIC java_lang_String CFASTCALL java_io_OutputStreamWriter__adjustUnicodeEncoding__Ls( java_lang_String encoding ) { { if ((JCGO_CALL_FINALF(encoding) java_lang_String__equalsIgnoreCase__Ls( encoding, JCGO_STRREF_OF(jcgo_string327_VMSstmPr)))) { return JCGO_STRREF_OF(jcgo_string371_VMSstmPr); } if ((java_lang_String__equalsIgnoreCase__Ls( encoding, JCGO_STRREF_OF(jcgo_string328_VMSstmPr)))) { return JCGO_STRREF_OF(jcgo_string368_VMSstmPr); } if ((java_lang_String__equalsIgnoreCase__Ls( encoding, JCGO_STRREF_OF(jcgo_string4_OtptStWr))) || (java_lang_String__equalsIgnoreCase__Ls( encoding, JCGO_STRREF_OF(jcgo_string5_OtptStWr)))) { return (java_lang_String__equals__Lo( JCGO_STRREF_OF(jcgo_string327_VMSstmPr), (java_lang_Object)(gnu_classpath_SystemProperties__getProperty__Ls( JCGO_STRREF_OF(jcgo_string335_VMSstmPr)))))? JCGO_STRREF_OF(jcgo_string371_VMSstmPr) : JCGO_STRREF_OF(jcgo_string368_VMSstmPr); } return encoding; } } JCGO_NOSEP_INLINE java_io_OutputStreamWriter CFASTCALL java_io_OutputStreamWriter__this__L0rv4g( java_io_OutputStreamWriter This, java_io_OutputStream out ) { { java_nio_charset_CharsetEncoder JCGO_TRY_VOLATILE encoder; java_lang_String JCGO_TRY_VOLATILE encodingName; (java_io_Writer__this__((java_io_Writer)This)); java_io_OutputStreamWriter__void(This); JCGO_FIELD_NZACCESS(This, out)= out; { JCGO_TRY_BLOCK { java_lang_String encoding; java_lang_String adjustedEncoding; java_nio_charset_Charset cs; encoding= (gnu_classpath_SystemProperties__getProperty__Ls( JCGO_STRREF_OF(jcgo_string4_String6D))); adjustedEncoding= (java_io_OutputStreamWriter__adjustUnicodeEncoding__Ls( encoding)); if (adjustedEncoding != encoding) { JCGO_FIELD_NZACCESS(This, needsUnicodeBOM)= (jboolean)jtrue; } cs= (java_nio_charset_Charset__forName__Ls( adjustedEncoding)); encoder= (JCGO_CALL_NZVFUNC(cs)->newEncoder__( cs)); encodingName= (gnu_java_nio_charset_EncodingHelper__getOldCanonical__Ls( (java_nio_charset_Charset__name__( cs)))); } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_lang_RuntimeException, MAXT_java_lang_RuntimeException) { encoder= (java_nio_charset_CharsetEncoder)jnull; JCGO_FIELD_NZACCESS(This, needsUnicodeBOM)= (jboolean)jfalse; encodingName= JCGO_STRREF_OF(jcgo_string2_VMSystem); } JCGO_TRY_RETHROW(1) } if (encoder != jnull) { (java_nio_charset_CharsetEncoder__onMalformedInput__L6zetg( encoder, JCGO_CLINIT_VARACC(java_nio_charset_CodingErrorAction__class, java_nio_charset_CodingErrorAction__REPLACE))); (java_nio_charset_CharsetEncoder__onUnmappableCharacter__L6zetg( encoder, java_nio_charset_CodingErrorAction__REPLACE)); } JCGO_FIELD_NZACCESS(This, encoder)= encoder; (void)encodingName; } return This; } JCGO_NOSEP_INLINE java_io_OutputStreamWriter CFASTCALL java_io_OutputStreamWriter__new__L0rv4g( java_io_OutputStream out ) { return java_io_OutputStreamWriter__this__L0rv4g( (java_io_OutputStreamWriter)jcgo_newObject((jvtable)&java_io_OutputStreamWriter_methods), out); } JCGO_NOSEP_FRWINL void CFASTCALL java_io_OutputStreamWriter__close__( java_io_OutputStreamWriter This ) { { jObject jcgo_rcvrL1; if (JCGO_FIELD_NZACCESS(This, out) == jnull) { return; } { JCGO_TRY_BLOCK { (java_io_OutputStreamWriter__flush__( This)); } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_io_IOException, MAXT_java_io_IOException) { } JCGO_TRY_RETHROW(1) } (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, out), JCGO_CALL_VFUNC((java_io_OutputStream)jcgo_rcvrL1)->close__( (java_io_OutputStream)jcgo_rcvrL1)); JCGO_FIELD_NZACCESS(This, out)= (java_io_OutputStream)jnull; } } JCGO_NOSEP_STATIC void CFASTCALL java_io_OutputStreamWriter__flushBuffer__( java_io_OutputStreamWriter This ) { { jint count; count= (java_nio_Buffer__position__( (java_nio_Buffer)JCGO_FIELD_NZACCESS(This, outputBuffer))); if (count > 0 && JCGO_FIELD_NZACCESS(This, out) != jnull) { jcharArr buf; buf= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar), 0, count); (java_nio_Buffer__flip__( (java_nio_Buffer)JCGO_FIELD_NZACCESS(This, outputBuffer))); (java_nio_CharBuffer__get__CA( JCGO_FIELD_NZACCESS(This, outputBuffer), buf)); (java_io_OutputStreamWriter__writeConvert__CAII( This, buf, 0, count)); (java_nio_Buffer__clear__( (java_nio_Buffer)JCGO_FIELD_NZACCESS(This, outputBuffer))); } } } JCGO_NOSEP_STATIC void CFASTCALL java_io_OutputStreamWriter__write__CAII( java_io_OutputStreamWriter This, jcharArr buf, jint offset, jint count ) { { if (JCGO_FIELD_NZACCESS(This, out) == jnull) { JCGO_THROW_EXC((java_io_IOException__new__Ls( JCGO_STRREF_OF(jcgo_string4_PrntStrm)))); } if (JCGO_FIELD_NZACCESS(This, needsUnicodeBOM) && count > 0) { (java_nio_CharBufferImpl__put__C( (java_nio_CharBufferImpl)JCGO_FIELD_NZACCESS(This, outputBuffer), (jchar)(jint)65279L)); JCGO_FIELD_NZACCESS(This, needsUnicodeBOM)= (jboolean)jfalse; } if (count >= (java_nio_Buffer__remaining__( (java_nio_Buffer)JCGO_FIELD_NZACCESS(This, outputBuffer)))) { jint r; r= (java_nio_Buffer__remaining__( (java_nio_Buffer)JCGO_FIELD_NZACCESS(This, outputBuffer))); (java_nio_CharBufferImpl__put__CAII( (java_nio_CharBufferImpl)JCGO_FIELD_NZACCESS(This, outputBuffer), buf, offset, r)); (java_io_OutputStreamWriter__writeConvert__CAII( This, (java_nio_CharBuffer__array__( JCGO_FIELD_NZACCESS(This, outputBuffer))), 0, java_io_OutputStreamWriter__BUFFER_SIZE)); (java_nio_Buffer__clear__( (java_nio_Buffer)JCGO_FIELD_NZACCESS(This, outputBuffer))); offset+= r; count-= r; if (count >= (java_nio_Buffer__remaining__( (java_nio_Buffer)JCGO_FIELD_NZACCESS(This, outputBuffer)))) { (java_io_OutputStreamWriter__writeConvert__CAII( This, buf, offset, count)); return; } } (java_nio_CharBufferImpl__put__CAII( (java_nio_CharBufferImpl)JCGO_FIELD_NZACCESS(This, outputBuffer), buf, offset, count)); } } JCGO_NOSEP_STATIC void CFASTCALL java_io_OutputStreamWriter__writeConvert__CAII( java_io_OutputStreamWriter This, jcharArr buf, jint offset, jint count ) { { if (JCGO_FIELD_NZACCESS(This, encoder) == jnull) { jbyteArr b; jObject jcgo_rcvrL1; b= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte), 0, count); { jint i; i= 0; for (; i < count; i++) { jObject jcgo_rcvrL1; jint jcgo_rcvrI1; jbyte jcgo_rcvrB1; (jcgo_rcvrL1= (jObject)b, jcgo_rcvrI1= i, jcgo_rcvrB1= (java_io_OutputStreamWriter__nullConversion__C( JCGO_ARRAY_CACCESS(buf, offset + i))), JCGO_ARRAY_NZBACCESS((jbyteArr)jcgo_rcvrL1, jcgo_rcvrI1)= jcgo_rcvrB1); } } (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, out), JCGO_CALL_FINALF((java_io_OutputStream)jcgo_rcvrL1) java_io_OutputStream__write__BA( (java_io_OutputStream)jcgo_rcvrL1, b)); } else { { JCGO_TRY_BLOCK { java_nio_ByteBuffer output; jObject jcgo_rcvrL1; struct java_nio_CharBufferImpl_s jcgo_stackobj1; output= (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, encoder), java_nio_charset_CharsetEncoder__encode__L3367b( (java_nio_charset_CharsetEncoder)jcgo_rcvrL1, (java_nio_CharBuffer__wrap__CAIIX( buf, offset, count, JCGO_STACKOBJVLT_NEW(jcgo_stackobj1, java_nio_CharBufferImpl_methods))))); (java_nio_charset_CharsetEncoder__reset__( JCGO_FIELD_NZACCESS(This, encoder))); if ((JCGO_CALL_FINALF(output) java_nio_ByteBuffer__hasArray__( output))) { jObject jcgo_rcvrL1; (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, out), JCGO_CALL_FINALF((java_io_OutputStream)jcgo_rcvrL1) java_io_OutputStream__write__BA( (java_io_OutputStream)jcgo_rcvrL1, (java_nio_ByteBuffer__array__( output)))); } else { jbyteArr outbytes; jObject jcgo_rcvrL1; outbytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte), 0, (java_nio_Buffer__remaining__( (java_nio_Buffer)output))); (java_nio_ByteBuffer__get__BA( output, outbytes)); (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, out), JCGO_CALL_FINALF((java_io_OutputStream)jcgo_rcvrL1) java_io_OutputStream__write__BA( (java_io_OutputStream)jcgo_rcvrL1, outbytes)); } } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_lang_IllegalStateException, MAXT_java_lang_IllegalStateException) { JCGO_THROW_EXC((java_io_IOException__new__Ls( JCGO_STRREF_OF(jcgo_string6_OtptStWr)))); } JCGO_TRY_CATCH(OBJT_java_nio_charset_MalformedInputException, MAXT_java_nio_charset_MalformedInputException) { JCGO_THROW_EXC((java_io_IOException__new__Ls( JCGO_STRREF_OF(jcgo_string7_OtptStWr)))); } JCGO_TRY_CATCH(OBJT_java_nio_charset_CharacterCodingException, MAXT_java_nio_charset_CharacterCodingException) { JCGO_THROW_EXC((java_io_IOException__new__Ls( JCGO_STRREF_OF(jcgo_string8_OtptStWr)))); } JCGO_TRY_RETHROW(1) } } } } JCGO_NOSEP_FRWINL void CFASTCALL java_io_OutputStreamWriter__write__LsII( java_io_OutputStreamWriter This, java_lang_String str, jint offset, jint count ) { { (java_io_OutputStreamWriter__write__CAII( This, (JCGO_CALL_FINALF(str) java_lang_String__toCharArray__( str)), offset, count)); } } JCGO_NOSEP_DATA CONST struct java_io_OutputStreamWriter_methods_s java_io_OutputStreamWriter_methods= { JCGO_CLASSREF_OF(java_io_OutputStreamWriter__class), JCGO_GCJDESCR_INIT(java_io_OutputStreamWriter_s, outputBuffer) OBJT_java_io_OutputStreamWriter, (JCGO_OBJSIZE_T)sizeof(struct java_io_OutputStreamWriter_s), NULL, JCGO_CLINIT_INIT(0) 0, java_lang_Object__equals__Lo, java_lang_Object__hashCode__, java_lang_Object__toString__, java_lang_Object__finalize__ }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_io_OutputStreamWriter_class_s java_io_OutputStreamWriter__class JCGO_THRD_ATTRNONGC= { { &java_lang_Class_methods, JCGO_MON_INIT JCGO_OBJREF_OF(*(java_lang_Object)&java_io_OutputStreamWriter_methods), JCGO_STRREF_OF(jcgo_string1_OtptStWr), JCGO_CLASSREF_OF(java_io_Writer__class), ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)), 0x1 } }; JCGO_NOSEP_DATA CONST jcgo_arrtype28_GameShll jcgo_array9_OtptStWr= { (jvtable)&jbyteArr_methods, JCGO_MON_INIT 9, { (jbyte)(jchar)69/*'E'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)103/*'g'*/, (jbyte)(jchar)32/*' '*/ } }; JCGO_NOSEP_DATA CONST jcgo_arrtype43_GameShll jcgo_array10_OtptStWr= { (jvtable)&jbyteArr_methods, JCGO_MON_INIT 15, { (jbyte)(jchar)73/*'I'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)46/*'.'*/ } }; JCGO_NOSEP_DATA CONST jcgo_arrtype38_Object jcgo_array11_OtptStWr= { (jvtable)&jbyteArr_methods, JCGO_MON_INIT 27, { (jbyte)(jchar)73/*'I'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)118/*'v'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)104/*'h'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)113/*'q'*/, (jbyte)(jchar)117/*'u'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)46/*'.'*/ } }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_OtptStWr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array2_OtptStrm), 0, 26, (jint)0xf00932d0L }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string2_OtptStWr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array9_OtptStWr), 0, 9, (jint)0xd1589d0dL }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string3_OtptStWr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array571_VMSstmPr), 0, 8, (jint)0xeb2b482aL }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string4_OtptStWr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array676_VMSstmPr), 2, 6, (jint)0x95cc242bL }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string5_OtptStWr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array677_VMSstmPr), 0, 5, (jint)0x4d509ecL }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string6_OtptStWr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array10_OtptStWr), 0, 15, (jint)0x5f4329c9L }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string7_OtptStWr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array11_OtptStWr), 0, 27, (jint)0x6596448dL }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string8_OtptStWr JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array609_Mdclnt), 0, 21, (jint)0xcf81903eL }; #ifdef CHKALL_java_io_OutputStreamWriter #include "jcgochke.h" #endif #endif