deep-c-rsc/jcgo_Out/VMFile.c

1779 lines
50 KiB
C

/* 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_VMFile
#include "jcgobchk.h"
#endif
JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_io_VMFile__getenv0__Ls( java_lang_String name )
{
#ifdef NOJAVA_java_io_VMFile_getenv0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(1)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_getenv0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jstring)JCGO_JNI_TOLOCALREF(1, name)));
#endif
}
JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_io_VMFile__getLineSeparator0__( void )
{
#ifdef NOJAVA_java_io_VMFile_getLineSeparator0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(0)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_getLineSeparator0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class))));
#endif
}
JCGO_NOSEP_FRWINL jint CFASTCALL
java_io_VMFile__isUniRootFileSys0__( void )
{
#ifdef NOJAVA_java_io_VMFile_isUniRootFileSys0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_isUniRootFileSys0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_io_VMFile__normPlatformPath0__Ls( java_lang_String path )
{
#ifdef NOJAVA_java_io_VMFile_normPlatformPath0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(1)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_normPlatformPath0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jstring)JCGO_JNI_TOLOCALREF(1, path)));
#endif
}
JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_io_VMFile__getDosUnixDrivePrefix0__( void )
{
#ifdef NOJAVA_java_io_VMFile_getDosUnixDrivePrefix0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(0)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_getDosUnixDrivePrefix0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class))));
#endif
}
JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_io_VMFile__getVolumeCurDir0__Ls( java_lang_String path )
{
#ifdef NOJAVA_java_io_VMFile_getVolumeCurDir0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(1)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_getVolumeCurDir0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jstring)JCGO_JNI_TOLOCALREF(1, path)));
#endif
}
JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_io_VMFile__getDriveCurDir__IZ( jint drive, jboolean useCache
)
{
{
java_lang_String path;
path= (java_lang_String)jnull;
if (drive > 0 && JCGO_ARRAY_NZLENGTH(java_io_VMFile__driveDirCache) >
drive && (!useCache || (path= ((java_lang_String)JCGO_ARRAY_NZLACCESS(java_io_VMFile__driveDirCache,
drive))) == jnull))
{
path= (java_io_VMFile__getDriveCurDir0__I(
drive));
if (path != jnull && (java_lang_String__length__(
path)) > 0)
{
path= (java_io_VMFile__normPlatformPath__Ls(
path));
if ((java_lang_String__charAt__I(
path, 0)) == java_io_VMFile__FILE_SEP)
{
path= java_lang_VMSystem__concat0X__LsLs(
(java_io_VMFile__drivePathPrefix__I(
drive)), path);
}
}
else
{
java_lang_String drivePrefix;
java_lang_String filename;
drivePrefix= java_lang_VMSystem__concat0X__LsLs(
(java_io_VMFile__drivePathPrefix__I(
drive)), JCGO_STRREF_OF(jcgo_string3_VMThrwbl));
filename= (java_io_VMFile__realPath0__LsIA(
drivePrefix, (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)1)));
if ((filename == drivePrefix || filename == jnull || (java_lang_String__length__(
(path= (java_io_VMFile__normPlatformPath__Ls(
filename))))) <= (jint)2 || (java_io_VMFile__driveIndexOf__C(
(JCGO_CALL_FINALF(path) java_lang_String__charAt__I(
path, 0)))) != drive || (JCGO_CALL_FINALF(path) java_lang_String__charAt__I(
path, (jint)1)) != (jchar)58/*':'*/ || (JCGO_CALL_FINALF(path)
java_lang_String__charAt__I(
path, (jint)2)) != java_io_VMFile__FILE_SEP) && ((path= (java_io_VMFile__getVolumeCurDir0__Ls(
drivePrefix))) == jnull || (java_lang_String__length__(
(path= (java_io_VMFile__normPlatformPath__Ls(
path))))) <= (jint)2 || (java_io_VMFile__driveIndexOf__C(
(java_lang_String__charAt__I(
path, 0)))) != drive || (java_lang_String__charAt__I(
path, (jint)1)) != (jchar)58/*':'*/ || (java_lang_String__charAt__I(
path, (jint)2)) != java_io_VMFile__FILE_SEP))
{
return (java_lang_String)jnull;
}
}
if (((java_lang_String)JCGO_ARRAY_NZLACCESS(java_io_VMFile__driveDirCache,
drive)) == jnull)
{
*(java_lang_String*)&JCGO_ARRAY_NZLACCESS(java_io_VMFile__driveDirCache,
drive)= path;
}
}
return path;
}
}
JCGO_NOSEP_FRWINL jint CFASTCALL
java_io_VMFile__isCaseSensitive0__( void )
{
#ifdef NOJAVA_java_io_VMFile_isCaseSensitive0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_isCaseSensitive0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_FRWINL jint CFASTCALL
java_io_VMFile__dirDataSizeAndIsFind0__( void )
{
#ifdef NOJAVA_java_io_VMFile_dirDataSizeAndIsFind0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_dirDataSizeAndIsFind0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_FRWINL jint CFASTCALL
java_io_VMFile__dirOpNeedsSync0__( void )
{
#ifdef NOJAVA_java_io_VMFile_dirOpNeedsSync0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_dirOpNeedsSync0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
java_io_VMFile__access0__LsIII( java_lang_String path, jint chkRead,
jint chkWrite, jint chkExec )
{
#ifdef NOJAVA_java_io_VMFile_access0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(1)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_access0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jstring)JCGO_JNI_TOLOCALREF(1, path), chkRead, chkWrite, chkExec);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
java_io_VMFile__isRegFileOrDir0__Ls( java_lang_String path )
{
#ifdef NOJAVA_java_io_VMFile_isRegFileOrDir0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(1)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_isRegFileOrDir0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jstring)JCGO_JNI_TOLOCALREF(1, path));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
java_io_VMFile__pathListPlatformSep0__Ls( java_lang_String pathlist
)
{
#ifdef NOJAVA_java_io_VMFile_pathListPlatformSep0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(1)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_pathListPlatformSep0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jstring)JCGO_JNI_TOLOCALREF(1, pathlist));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jchar CFASTCALL
java_io_VMFile__pathListPlatformSep__Ls( java_lang_String pathlist
)
{
{
jint val;
jchar ch;
val= (java_io_VMFile__pathListPlatformSep0__Ls(
pathlist));
return (jchar)(val > 0? (jchar)val : (jchar)(((JCGO_CALL_FINALF(pathlist)
java_lang_String__length__(
pathlist)) > (jint)2 && (java_lang_String__charAt__I(
pathlist, (jint)1)) == (jchar)58/*':'*/ && (java_io_VMFile__driveIndexOf__C(
(java_lang_String__charAt__I(
pathlist, 0)))) > 0 && ((ch= (java_lang_String__charAt__I(
pathlist, (jint)2))) == (jchar)47/*'/'*/ || ch == (jchar)92/*'\\'*/)) ||
(java_lang_String__indexOf__II(
pathlist, (jchar)59/*';'*/, 0)) >= 0 || ((java_lang_String__indexOf__II(
pathlist, (jchar)92/*'\\'*/, 0)) > 0 && (val= (java_lang_String__indexOf__II(
pathlist, (jchar)58/*':'*/, 0))) > (jint)1 && (java_lang_String__indexOf__II(
pathlist, (jchar)58/*':'*/, val + (jint)1)) < 0)? (jchar)59/*';'*/ :
(jchar)((ch= java_io_VMFile__PATH_SEP) == (jchar)59/*';'*/ || (ch !=
(jchar)58/*':'*/ && (java_lang_String__indexOf__II(
pathlist, (jchar)58/*':'*/, 0)) >= 0)? (jchar)58/*':'*/ : ch)));
}
}
JCGO_NOSEP_INLINE jlong CFASTCALL
java_io_VMFile__currentTime0__I( jint isNano )
{
#ifdef NOJAVA_java_io_VMFile_currentTime0
jcgo_jniNoNativeFunc();
return (jlong)0;
#else
jlong jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_currentTime0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
isNano);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jObjectArr CFASTCALL
java_io_VMFile__list__Ls( java_lang_String path )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
jbyteArr dirdata;
jObjectArr names;
jint dirDSize;
dirDSize= java_io_VMFile__DIR_DATASIZE_ISFIND;
if (dirDSize < 0)
{
dirDSize= (-dirDSize);
}
dirdata= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
0, dirDSize);
path= (java_io_VMFile__normVolumeColon__Ls(
path));
if (java_io_VMFile__DIR_OP_LOCK != jnull)
{
{
JCGO_SYNC_BLOCKSAFENZ(java_io_VMFile__DIR_OP_LOCK)
{
names= (java_io_VMFile__listInner__LsBA(
path, dirdata));
}
JCGO_SYNC_END
}
}
else
{
names= (java_io_VMFile__listInner__LsBA(
path, dirdata));
}
return names;
}
}
JCGO_NOSEP_STATIC jboolean CFASTCALL
java_io_VMFile__isDirectory__Ls( java_lang_String path )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
return (jboolean)((JCGO_CALL_FINALF(path) java_lang_String__equals__Lo(
path, (java_lang_Object)JCGO_STRREF_OF(jcgo_string3_VMThrwbl))) ||
(java_io_VMFile__isRegFileOrDir0__Ls(
(java_io_VMFile__normVolumeColon__Ls(
path)))) == (jint)2);
}
}
JCGO_NOSEP_FRWINL jlong CFASTCALL
java_io_VMFile__currentTime__Z( jboolean isNano )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
return (java_io_VMFile__currentTime0__I(
isNano? (jint)1 : 0));
}
}
JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_io_VMFile__getFileSeparator__( void )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
return (java_lang_String__valueOf__C(
java_io_VMFile__FILE_SEP));
}
}
JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_io_VMFile__getPathSeparator__( void )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
return (java_lang_String__valueOf__C(
java_io_VMFile__PATH_SEP));
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__pathParentOf__Ls( java_lang_String path )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
jint prefixLen;
jint pos;
prefixLen= (java_io_VMFile__pathPrefixLength__Ls(
path));
if ((java_lang_String__length__(
path)) == prefixLen)
{
return (java_lang_String)jnull;
}
pos= (java_lang_String__lastIndexOf__I(
path, java_io_VMFile__FILE_SEP));
if (pos <= prefixLen)
{
pos= prefixLen;
}
return pos > 0? (java_lang_String__substring__II(
path, 0, pos)) : jnull;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__makeAbsPath__Ls( java_lang_String path )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
java_lang_String curDir;
jint prefixLen;
prefixLen= (java_io_VMFile__pathPrefixLength__Ls(
path));
if (prefixLen > 0)
{
if (java_io_VMFile__IS_UNIX_FS)
{
return path;
}
if (prefixLen > (jint)2)
{
jObject jcgo_rcvrL1;
struct java_lang_StringBuilder_s jcgo_stackobj1;
struct java_lang_String_s jcgo_stackobj2;
return (java_lang_String__charAt__I(
path, prefixLen - (jint)1)) == (jchar)58/*':'*/? (jcgo_rcvrL1=
(jObject)(jcgo_rcvrL1= (jObject)(java_lang_String__substring__II(
path, 0, prefixLen)), java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__this__(
JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_StringBuilder_methods)),
(java_lang_String)jcgo_rcvrL1), (java_lang_String__valueOf__CX(
java_io_VMFile__FILE_SEP, JCGO_STACKOBJ_NEW(jcgo_stackobj2, java_lang_String_methods))))),
java_lang_String__new__L5dy9e(
java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (java_lang_String__substring__I(
path, prefixLen))))) : path;
}
if (prefixLen == (jint)1)
{
jObject jcgo_rcvrL1;
return (curDir= (java_io_VMFile__getCurDir__())) != jnull && (prefixLen=
(java_io_VMFile__pathPrefixLength__Ls(
curDir))) > 0? (jcgo_rcvrL1= (jObject)(java_lang_String__substring__II(
curDir, 0, prefixLen > (jint)3? prefixLen - (jint)1 : prefixLen)),
java_io_VMFile__pathAppendName__LsLs(
(java_lang_String)jcgo_rcvrL1, (java_lang_String__substring__I(
path, (jint)1)))) : jnull;
}
curDir= (java_io_VMFile__getDriveCurDir__IZ(
(java_io_VMFile__driveIndexOf__C(
(java_lang_String__charAt__I(
path, 0)))), (jboolean)jtrue));
path= (java_lang_String__substring__I(
path, (jint)2));
}
else
{
curDir= (java_io_VMFile__getCurDir__());
if ((java_lang_String__equals__Lo(
path, (java_lang_Object)JCGO_STRREF_OF(jcgo_string3_VMThrwbl))))
{
return curDir;
}
}
return curDir != jnull? (java_io_VMFile__pathAppendName__LsLs(
curDir, (java_lang_String__length__(
path)) > (jint)1 && (java_lang_String__charAt__I(
path, 0)) == (jchar)46/*'.'*/ && (java_lang_String__charAt__I(
path, (jint)1)) == java_io_VMFile__FILE_SEP? (java_lang_String__substring__I(
path, (jint)2)) : path)) : jnull;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__collapsePathDots__Ls( java_lang_String path )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
jint ofs;
jint skip;
ofs= (java_io_VMFile__pathPrefixLength__Ls(
path));
skip= 0;
{
jint pos;
pos= (java_lang_String__length__(
path));
for (; pos > ofs; pos--)
{
jint next;
next= pos;
pos= (JCGO_CALL_FINALF(path) java_lang_String__lastIndexOf__II(
path, java_io_VMFile__FILE_SEP, next - (jint)1)) + (jint)1;
if (pos <= ofs)
{
pos= ofs;
}
if (next - (jint)1 == pos && (java_lang_String__charAt__I(
path, pos)) == (jchar)46/*'.'*/)
{
jObject jcgo_rcvrL1;
if ((java_lang_String__length__(
path)) == next)
{
if (pos <= ofs)
{
if (pos > 0)
{
path= (java_lang_String__substring__II(
path, 0, pos));
}
break;
}
next--;
}
path= (jcgo_rcvrL1= (jObject)(java_lang_String__substring__II(
path, 0, next - (jint)1)), java_lang_VMSystem__concat0X__LsLs(
(java_lang_String)jcgo_rcvrL1, (java_lang_String__substring__I(
path, next + (jint)1))));
}
else
{
if (next - (jint)1 > pos && (java_lang_String__charAt__I(
path, pos)) == (jchar)46/*'.'*/ && (java_lang_String__charAt__I(
path, pos + (jint)1)) == (jchar)46/*'.'*/)
{
jint i;
i= pos + (jint)2;
if (!java_io_VMFile__IS_UNIX_FS)
{
while (i < next && (java_lang_String__charAt__I(
path, i)) == (jchar)46/*'.'*/)
{
i++;
}
}
if (i == next)
{
skip+= next - pos;
}
}
if (skip > 0)
{
jint i;
jObject jcgo_rcvrL1;
i= pos;
skip--;
if ((java_lang_String__length__(
path)) == next)
{
next--;
if (pos <= ofs)
{
if (pos <= 0)
{
path= JCGO_STRREF_OF(jcgo_string3_VMThrwbl);
i= (jint)1;
}
}
else
{
i--;
}
}
path= (jcgo_rcvrL1= (jObject)(java_lang_String__substring__II(
path, 0, i)), java_lang_VMSystem__concat0X__LsLs(
(java_lang_String)jcgo_rcvrL1, (java_lang_String__substring__I(
path, next + (jint)1))));
}
}
}
}
return path;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__canonPathCase__Ls( java_lang_String path )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
if (!java_io_VMFile__IS_CASE_SENSITIVE)
{
java_lang_String name;
java_lang_String canonName;
jbyteArr dirdata;
java_lang_Object lockObj;
jint prefixLen;
jint pos;
jint dirDSize;
jchar sep;
prefixLen= (java_io_VMFile__pathPrefixLength__Ls(
path));
name= (java_lang_String__substring__II(
path, 0, prefixLen));
canonName= (java_lang_VMAccessorJavaLang__toUpperCaseLatinVMSystem__Ls(
name));
if (canonName != name)
{
path= java_lang_VMSystem__concat0X__LsLs(
canonName, (java_lang_String__substring__I(
path, prefixLen)));
}
pos= prefixLen;
sep= java_io_VMFile__FILE_SEP;
dirDSize= java_io_VMFile__DIR_DATASIZE_ISFIND;
dirdata= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
0, dirDSize >= 0? dirDSize : (-dirDSize));
lockObj= java_io_VMFile__DIR_OP_LOCK;
while ((JCGO_CALL_FINALF(path) java_lang_String__length__(
path)) > pos)
{
jint next;
jint i;
next= (java_lang_String__indexOf__II(
path, sep, pos));
if (next < 0)
{
next= (java_lang_String__length__(
path));
}
i= pos;
while (i < next && (java_lang_String__charAt__I(
path, i)) == (jchar)46/*'.'*/)
{
i++;
}
if (i < next)
{
java_lang_String curPath;
curPath= (java_lang_String__substring__II(
path, 0, next));
name= (java_lang_String__substring__II(
path, pos, next));
if (dirDSize > 0)
{
if (pos > prefixLen)
{
jintArr resArr;
java_lang_String filename;
canonName= (java_lang_String__substring__II(
path, 0, pos - (jint)1));
resArr= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)1);
filename= (java_io_VMFile__realPath0__LsIA(
canonName, resArr));
(gnu_java_nio_VMAccessorGnuJavaNio__checkIOResCodeVMChannel__I(
JCGO_ARRAY_NZIACCESS(resArr, 0)));
if (filename != canonName && filename != jnull)
{
curPath= (java_io_VMFile__pathAppendName__LsLs(
(java_io_VMFile__normPlatformPath__Ls(
filename)), name));
}
}
if (lockObj != jnull)
{
{
JCGO_SYNC_BLOCKSAFENZ(lockObj)
{
canonName= (java_io_VMFile__canonPathCaseMatch__LsBA(
curPath, dirdata));
}
JCGO_SYNC_END
}
}
else
{
canonName= (java_io_VMFile__canonPathCaseMatch__LsBA(
curPath, dirdata));
}
if (canonName == jnull || (java_lang_String__indexOf__II(
name, (jchar)42/*'*'*/, 0)) >= 0 || (java_lang_String__indexOf__II(
name, (jchar)63/*'?'*/, 0)) >= 0)
{
break;
}
}
else
{
jlongArr devInodeArr;
jint res;
devInodeArr= (jlongArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jlong),
0, (jint)2);
JCGO_ARRAY_NZJACCESS(devInodeArr, 0)= JLONG_C(-1);
res= (java_io_VMFile__getLnkDevInode0__LsJA(
curPath, devInodeArr));
if (res < 0 && (java_io_VMFile__isIOErrorNoEntity0__I(
res)) != 0)
{
break;
}
(gnu_java_nio_VMAccessorGnuJavaNio__checkIOResCodeVMChannel__I(
res));
if (JCGO_ARRAY_NZJACCESS(devInodeArr, 0) == JLONG_C(-1) || JCGO_ARRAY_NZJACCESS(devInodeArr,
(jint)1) == JLONG_C(0))
{
break;
}
curPath= (java_lang_String__substring__II(
path, 0, pos > prefixLen? pos - (jint)1 : pos));
if (lockObj != jnull)
{
{
JCGO_SYNC_BLOCKSAFENZ(lockObj)
{
canonName= (java_io_VMFile__canonPathCaseFind__LsBALs(
curPath, dirdata, name));
}
JCGO_SYNC_END
}
}
else
{
canonName= (java_io_VMFile__canonPathCaseFind__LsBALs(
curPath, dirdata, name));
}
if (canonName == jnull)
{
break;
}
if ((JCGO_CALL_FINALF(canonName) java_lang_String__length__(
canonName)) == 0)
{
if (lockObj != jnull)
{
{
JCGO_SYNC_BLOCKSAFENZ(lockObj)
{
canonName= (java_io_VMFile__canonPathCaseScan__LsBAJA(
curPath, dirdata, devInodeArr));
}
JCGO_SYNC_END
}
}
else
{
canonName= (java_io_VMFile__canonPathCaseScan__LsBAJA(
curPath, dirdata, devInodeArr));
}
if (canonName == jnull || (java_lang_String__length__(
canonName)) == 0)
{
break;
}
}
}
if (!(JCGO_CALL_FINALF(canonName) java_lang_String__equals__Lo(
canonName, (java_lang_Object)name)))
{
jObject jcgo_rcvrL1;
struct java_lang_StringBuilder_s jcgo_stackobj1;
path= (jcgo_rcvrL1= (jObject)java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__this__(
JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_StringBuilder_methods)),
(java_lang_String__substring__II(
path, 0, pos))), canonName), java_lang_String__new__L5dy9e(
java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (java_lang_String__substring__I(
path, next)))));
next= (java_lang_String__length__(
canonName)) + pos;
}
}
pos= next + (jint)1;
}
}
return path;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__normPlatformPath__Ls( java_lang_String path )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
java_lang_String normPath;
jint len;
jchar sep;
len= (JCGO_CALL_FINALF(path) java_lang_String__length__(
path));
if (len == 0)
{
return JCGO_STRREF_OF(jcgo_string3_VMThrwbl);
}
normPath= (java_io_VMFile__normPlatformPath0__Ls(
path));
if (normPath != jnull && (java_lang_String__length__(
normPath)) > 0)
{
jchar ch;
if (!java_io_VMFile__IS_UNIX_FS && (ch= (java_lang_String__charAt__I(
normPath, 0))) >= (jchar)97/*'a'*/ && ch <= (jchar)122/*'z'*/ &&
(java_lang_String__length__(
normPath)) > (jint)1 && (java_lang_String__charAt__I(
normPath, (jint)1)) == (jchar)58/*':'*/)
{
jObject jcgo_rcvrL1;
normPath= (jcgo_rcvrL1= (jObject)(java_lang_String__valueOf__C(
(jchar)(ch - ((jint)(jchar)97/*'a'*/ - (jchar)65/*'A'*/)))), java_lang_VMSystem__concat0X__LsLs(
(java_lang_String)jcgo_rcvrL1, (java_lang_String__substring__I(
normPath, (jint)1))));
}
return normPath;
}
sep= java_io_VMFile__FILE_SEP;
if (java_io_VMFile__IS_UNIX_FS)
{
path= (java_lang_String__replace__CC(
path, (jchar)92/*'\\'*/, sep));
if (len > (jint)1)
{
jint drive;
if ((java_lang_String__charAt__I(
path, (jint)1)) == (jchar)58/*':'*/ && (drive= (java_io_VMFile__driveIndexOf__C(
(java_lang_String__charAt__I(
path, 0))))) > 0)
{
jObject jcgo_rcvrL1;
struct java_lang_StringBuilder_s jcgo_stackobj1;
struct java_lang_String_s jcgo_stackobj2;
struct java_lang_String_s jcgo_stackobj3;
path= drive == java_io_VMFile__defaultDrive? (len > (jint)2? (java_lang_String__substring__I(
path, (jint)2)) : JCGO_STRREF_OF(jcgo_string3_VMThrwbl)) : (jcgo_rcvrL1=
(jObject)(jcgo_rcvrL1= (jObject)java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__this__(
JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_StringBuilder_methods)),
java_io_VMFile__DOS_UNIX_DRIVE_PREFIX), (java_lang_String__valueOf__CX(
(jchar)(drive + ((jchar)97/*'a'*/ - (jint)1)), JCGO_STACKOBJ_NEW(jcgo_stackobj2,
java_lang_String_methods)))), java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (len != (jint)2 && (java_lang_String__charAt__I(
path, (jint)2)) != sep? (java_lang_String__valueOf__CX(
sep, JCGO_STACKOBJ_NEW(jcgo_stackobj3, java_lang_String_methods))) :
JCGO_STRREF_OF(jcgo_string3_String6D)))), java_lang_String__new__L5dy9e(
java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (java_lang_String__substring__I(
path, (jint)2)))));
len= (java_lang_String__length__(
path));
}
if ((java_lang_String__charAt__I(
path, len - (jint)1)) == sep && len > (jint)1)
{
path= (java_lang_String__substring__II(
path, 0, len - (jint)1));
}
}
}
else
{
if (len > (jint)2 && (java_lang_String__charAt__I(
path, 0)) == (jchar)47/*'/'*/)
{
if ((java_lang_String__charAt__I(
path, (jint)2)) == (jchar)58/*':'*/ && (java_io_VMFile__driveIndexOf__C(
(java_lang_String__charAt__I(
path, (jint)1)))) > 0)
{
path= (java_lang_String__substring__I(
path, (jint)1));
if (len == (jint)3)
{
path= java_lang_VMSystem__concat0X__LsLs(
(java_lang_String)path, (java_lang_String__valueOf__C(
sep)));
}
len= (java_lang_String__length__(
path));
}
else
{
java_lang_String prefix;
jint pos;
jchar ch;
prefix= java_io_VMFile__DOS_UNIX_DRIVE_PREFIX;
pos= (java_lang_String__length__(
prefix)) + (jint)1;
if (pos <= len && (java_lang_String__startsWith__Ls(
path, prefix)) && (ch= (java_lang_String__charAt__I(
path, pos - (jint)1))) >= (jchar)97/*'a'*/ && ch <= (jchar)122/*'z'*/ &&
(len == pos || (java_lang_String__charAt__I(
path, pos)) == (jchar)47/*'/'*/))
{
jObject jcgo_rcvrL1;
struct java_lang_StringBuilder_s jcgo_stackobj4;
struct java_lang_String_s jcgo_stackobj5;
path= (jcgo_rcvrL1= (jObject)java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__this__(
JCGO_STACKOBJ_NEW(jcgo_stackobj4, java_lang_StringBuilder_methods)),
(java_lang_String__substring__II(
path, pos - (jint)1, pos))), JCGO_STRREF_OF(jcgo_string441_Mdclnt)),
java_lang_String__new__L5dy9e(
java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (len != pos? (java_lang_String__substring__I(
path, pos)) : (java_lang_String__valueOf__CX(
sep, JCGO_STACKOBJ_NEW(jcgo_stackobj5, java_lang_String_methods)))))));
len= (java_lang_String__length__(
path));
}
}
}
path= (java_lang_String__replace__CC(
path, (jchar)47/*'/'*/, sep));
if (len > (jint)1)
{
jchar ch;
if ((java_lang_String__charAt__I(
path, (jint)1)) == (jchar)58/*':'*/ && (ch= (java_lang_String__charAt__I(
path, 0))) >= (jchar)97/*'a'*/ && ch <= (jchar)122/*'z'*/)
{
jObject jcgo_rcvrL1;
path= (jcgo_rcvrL1= (jObject)(java_lang_String__valueOf__C(
(jchar)(ch - ((jint)(jchar)97/*'a'*/ - (jchar)65/*'A'*/)))),
java_lang_VMSystem__concat0X__LsLs(
(java_lang_String)jcgo_rcvrL1, (java_lang_String__substring__I(
path, (jint)1))));
}
if ((java_lang_String__charAt__I(
path, len - (jint)1)) == sep && (len > (jint)3 || ((java_lang_String__charAt__I(
path, (jint)1)) != (jchar)58/*':'*/ && (java_lang_String__charAt__I(
path, len - (jint)2)) != sep)))
{
path= (java_lang_String__substring__II(
path, 0, len - (jint)1));
}
}
}
return path;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__normPlatformListOfPaths__Ls( java_lang_String pathlist
)
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
java_lang_String properPathSep;
jint pos;
jchar sep;
struct java_lang_String_s jcgo_stackobj1;
sep= (java_io_VMFile__pathListPlatformSep__Ls(
pathlist));
pos= 0;
properPathSep= sep != java_io_VMFile__PATH_SEP? (java_lang_String__valueOf__CX(
java_io_VMFile__PATH_SEP, JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_String_methods))) :
jnull;
do
{
java_lang_String path;
java_lang_String normPath;
jint next;
next= (JCGO_CALL_FINALF(pathlist) java_lang_String__indexOf__II(
pathlist, sep, pos));
if (next < 0)
{
next= (java_lang_String__length__(
pathlist));
}
else
{
if (properPathSep != jnull)
{
jObject jcgo_rcvrL1;
struct java_lang_StringBuilder_s jcgo_stackobj2;
pathlist= (jcgo_rcvrL1= (jObject)java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__this__(
JCGO_STACKOBJ_NEW(jcgo_stackobj2, java_lang_StringBuilder_methods)),
(java_lang_String__substring__II(
pathlist, 0, next))), properPathSep), java_lang_String__new__L5dy9e(
java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (java_lang_String__substring__I(
pathlist, next + (jint)1)))));
}
}
path= (java_lang_String__substring__II(
pathlist, pos, next));
normPath= (java_io_VMFile__normPlatformPath__Ls(
path));
if (path != normPath)
{
jObject jcgo_rcvrL1;
struct java_lang_StringBuilder_s jcgo_stackobj3;
pathlist= (jcgo_rcvrL1= (jObject)java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__append__Ls(
java_lang_StringBuilder__this__(
JCGO_STACKOBJ_NEW(jcgo_stackobj3, java_lang_StringBuilder_methods)),
(java_lang_String__substring__II(
pathlist, 0, pos))), normPath), java_lang_String__new__L5dy9e(
java_lang_StringBuilder__append__Ls(
(java_lang_StringBuilder)jcgo_rcvrL1, (java_lang_String__substring__I(
pathlist, next)))));
next= (java_lang_String__length__(
normPath)) + pos;
}
pos= next + (jint)1;
}
while ((java_lang_String__length__(
pathlist)) >= pos);
return pathlist;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__normVolumeColon__Ls( java_lang_String path )
{
{
jint len;
len= (JCGO_CALL_FINALF(path) java_lang_String__length__(
path));
return len > (jint)1? ((java_lang_String__charAt__I(
path, len - (jint)1)) == (jchar)58/*':'*/ && (java_io_VMFile__pathPrefixLength__Ls(
path)) == len? java_lang_VMSystem__concat0X__LsLs(
path, JCGO_STRREF_OF(jcgo_string3_VMThrwbl)) : path) : len > 0?
path : JCGO_STRREF_OF(jcgo_string3_VMThrwbl);
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__getenvPlatform__Ls( java_lang_String name )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
java_lang_String value;
value= (java_io_VMFile__getenv0__Ls(
name));
if (value != jnull && (java_lang_String__length__(
value)) == 0)
{
value= (java_lang_String)jnull;
}
return value;
}
}
JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_io_VMFile__getLineSeparator__( void )
{
JCGO_CLINIT_TRIG(java_io_VMFile__class);
{
java_lang_String newline;
newline= (java_io_VMFile__getLineSeparator0__());
return newline != jnull && (java_lang_String__length__(
newline)) > 0? newline : JCGO_STRREF_OF(jcgo_string3_PrntStrm);
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__pathAppendName__LsLs( java_lang_String path, java_lang_String
name )
{
{
jint len;
struct java_lang_StringBuilder_s jcgo_stackobj1;
struct java_lang_String_s jcgo_stackobj2;
len= (JCGO_CALL_FINALF(path) java_lang_String__length__(
path));
return len > 0? ((JCGO_CALL_FINALF(name) java_lang_String__length__(
name)) > 0? ((java_lang_String__charAt__I(
path, len - (jint)1)) != java_io_VMFile__FILE_SEP? 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)),
path), (java_lang_String__valueOf__CX(
java_io_VMFile__FILE_SEP, JCGO_STACKOBJ_NEW(jcgo_stackobj2, java_lang_String_methods)))),
name)) : java_lang_VMSystem__concat0X__LsLs(
path, name)) : path) : name;
}
}
JCGO_NOSEP_STATIC jObjectArr CFASTCALL
java_io_VMFile__listInner__LsBA( java_lang_String path, jbyteArr dirdata
)
{
{
java_lang_String filename;
jObjectArr JCGO_TRY_VOLATILE names;
JCGO_TRY_VOLATILE jint count;
filename= path;
if (java_io_VMFile__DIR_DATASIZE_ISFIND > 0)
{
filename= (java_io_VMFile__realPath0__LsIA(
path, (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
(jint)1)));
filename= (java_io_VMFile__pathAppendName__LsLs(
filename != path && filename != jnull? (java_io_VMFile__normPlatformPath__Ls(
filename)) : path, JCGO_STRREF_OF(jcgo_string2_VMFile)));
}
filename= (java_io_VMFile__dirOpenReadFirst0__BALs(
dirdata, filename));
if (filename == jnull || (java_lang_String__length__(
filename)) == 0)
{
return (jObjectArr)jnull;
}
;
{
JCGO_TRY_BLOCK
{
names= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(java_lang_String__class),
0, (jint)1);
count= 0;
do
{
if (!(JCGO_CALL_FINALF(filename) java_lang_String__equals__Lo(
filename, (java_lang_Object)JCGO_STRREF_OF(jcgo_string3_VMThrwbl))) &&
!(java_lang_String__equals__Lo(
filename, (java_lang_Object)JCGO_STRREF_OF(jcgo_string301_VMSstmPr))))
{
if (JCGO_ARRAY_LENGTH(names) <= count)
{
jObjectArr newNames;
newNames= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(java_lang_String__class),
0, JCGO_SHR_F(count, (jint)1) + count + (jint)32);
(java_lang_System__arraycopy__LoILoII(
(java_lang_Object)names, (java_lang_Object)newNames, 0, 0,
count));
names= newNames;
}
*(java_lang_String*)&JCGO_ARRAY_NZLACCESS(names, count++)= filename;
}
filename= (java_io_VMFile__dirReadNext0__BA(
dirdata));
}
while (filename != jnull && (java_lang_String__length__(
filename)) > 0);
}
JCGO_TRY_LEAVE
{
(java_io_VMFile__dirClose0__BA(
dirdata));
}
JCGO_TRY_FINALLYEND
}
if (JCGO_ARRAY_LENGTH(names) > count)
{
jObjectArr newNames;
newNames= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(java_lang_String__class),
0, count);
(java_lang_System__arraycopy__LoILoII(
(java_lang_Object)names, (java_lang_Object)newNames, 0, 0, count));
names= newNames;
}
return names;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__canonPathCaseMatch__LsBA( java_lang_String curPath,
jbyteArr dirdata )
{
{
java_lang_String JCGO_TRY_VOLATILE canonName;
canonName= (java_io_VMFile__dirOpenReadFirst0__BALs(
dirdata, curPath));
if (canonName != jnull && (java_lang_String__length__(
canonName)) > 0)
{
{
JCGO_TRY_BLOCK
{
java_lang_String filename;
filename= (java_io_VMFile__dirReadNext0__BA(
dirdata));
if (filename != jnull && (java_lang_String__length__(
filename)) > 0)
{
canonName= (java_lang_String)jnull;
do
{
filename= (java_io_VMFile__dirReadNext0__BA(
dirdata));
}
while (filename != jnull && (java_lang_String__length__(
filename)) > 0);
}
}
JCGO_TRY_LEAVE
{
(java_io_VMFile__dirClose0__BA(
dirdata));
}
JCGO_TRY_FINALLYEND
}
}
else
{
jint res;
res= (java_io_VMFile__access0__LsIII(
curPath, 0, 0, 0));
if (res < 0 && (java_io_VMFile__isIOErrorNoEntity0__I(
res)) == 0)
{
(gnu_java_nio_VMAccessorGnuJavaNio__checkIOResCodeVMChannel__I(
res));
}
canonName= (java_lang_String)jnull;
}
return canonName;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__canonPathCaseFind__LsBALs( java_lang_String curPath,
jbyteArr dirdata, java_lang_String name )
{
{
java_lang_String JCGO_TRY_VOLATILE canonName;
canonName= (java_io_VMFile__dirOpenReadFirst0__BALs(
dirdata, curPath));
if (canonName != jnull)
{
if ((java_lang_String__length__(
canonName)) > 0)
{
{
JCGO_TRY_BLOCK
{
do
{
if ((JCGO_CALL_FINALF(canonName) java_lang_String__equals__Lo(
canonName, (java_lang_Object)name)))
{
break;
}
canonName= (java_io_VMFile__dirReadNext0__BA(
dirdata));
}
while (canonName != jnull && (java_lang_String__length__(
canonName)) > 0);
}
JCGO_TRY_LEAVE
{
(java_io_VMFile__dirClose0__BA(
dirdata));
}
JCGO_TRY_FINALLYEND
}
if (canonName == jnull)
{
canonName= JCGO_STRREF_OF(jcgo_string3_String6D);
}
}
else
{
canonName= (java_lang_String)jnull;
}
}
return canonName;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__canonPathCaseScan__LsBAJA( java_lang_String curPath,
jbyteArr dirdata, jlongArr devInodeArr )
{
{
java_lang_String JCGO_TRY_VOLATILE canonName;
canonName= (java_io_VMFile__dirOpenReadFirst0__BALs(
dirdata, curPath));
if (canonName != jnull && (java_lang_String__length__(
canonName)) > 0)
{
{
JCGO_TRY_BLOCK
{
jlong stDev;
jlong stIno;
jint compared;
stDev= JCGO_ARRAY_JACCESS(devInodeArr, 0);
stIno= JCGO_ARRAY_NZJACCESS(devInodeArr, (jint)1);
compared= 0;
do
{
if (!(JCGO_CALL_FINALF(canonName) java_lang_String__equals__Lo(
canonName, (java_lang_Object)JCGO_STRREF_OF(jcgo_string3_VMThrwbl))) &&
!(java_lang_String__equals__Lo(
canonName, (java_lang_Object)JCGO_STRREF_OF(jcgo_string301_VMSstmPr))))
{
jint res;
JCGO_ARRAY_NZJACCESS(devInodeArr, 0)= JLONG_C(-1);
res= (java_io_VMFile__getLnkDevInode0__LsJA(
(java_io_VMFile__pathAppendName__LsLs(
curPath, canonName)), devInodeArr));
if (res >= 0)
{
if (JCGO_ARRAY_NZJACCESS(devInodeArr, 0) == stDev && JCGO_ARRAY_NZJACCESS(devInodeArr,
(jint)1) == stIno)
{
java_lang_String filename;
if (compared > 0)
{
break;
}
filename= (java_io_VMFile__dirReadNext0__BA(
dirdata));
if (filename == jnull || (java_lang_String__length__(
filename)) == 0)
{
break;
}
JCGO_ARRAY_NZJACCESS(devInodeArr, 0)= JLONG_C(-1);
if ((java_io_VMFile__getLnkDevInode0__LsJA(
(java_io_VMFile__pathAppendName__LsLs(
curPath, filename)), devInodeArr)) >= 0 && JCGO_ARRAY_NZJACCESS(devInodeArr,
0) == stDev && JCGO_ARRAY_NZJACCESS(devInodeArr, (jint)1) ==
stIno)
{
canonName= (java_lang_String)jnull;
}
break;
}
compared++;
}
else
{
if ((java_io_VMFile__isIOErrorNoEntity0__I(
res)) == 0)
{
(gnu_java_nio_VMAccessorGnuJavaNio__checkIOResCodeVMChannel__I(
res));
}
}
}
canonName= (java_io_VMFile__dirReadNext0__BA(
dirdata));
}
while (canonName != jnull && (java_lang_String__length__(
canonName)) > 0);
}
JCGO_TRY_LEAVE
{
(java_io_VMFile__dirClose0__BA(
dirdata));
}
JCGO_TRY_FINALLYEND
}
}
return canonName;
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
java_io_VMFile__pathPrefixLength__Ls( java_lang_String path )
{
{
jint pos;
jint len;
pos= 0;
len= (JCGO_CALL_FINALF(path) java_lang_String__length__(
path));
if (len > 0)
{
jchar sep;
sep= java_io_VMFile__FILE_SEP;
if (java_io_VMFile__IS_UNIX_FS)
{
if ((java_lang_String__charAt__I(
path, 0)) == sep)
{
pos= (jint)1;
}
}
else
{
if ((java_lang_String__charAt__I(
path, 0)) == sep)
{
pos= (jint)1;
if (len != (jint)1 && (java_lang_String__charAt__I(
path, (jint)1)) == sep)
{
while (++pos < len)
{
if ((java_lang_String__charAt__I(
path, pos)) == sep)
{
break;
}
}
if (pos < len)
{
while (++pos < len)
{
if ((java_lang_String__charAt__I(
path, pos)) == sep)
{
break;
}
}
if (pos < len)
{
pos++;
}
}
}
}
else
{
pos= (java_lang_String__indexOf__II(
path, (jchar)58/*':'*/, 0)) + (jint)1;
if (pos > (jint)1)
{
jint i;
if ((java_lang_String__lastIndexOf__II(
path, (jchar)46/*'.'*/, pos - (jint)2)) >= 0 || ((i= (java_lang_String__lastIndexOf__II(
path, sep, pos - (jint)2))) > 0 && (java_lang_String__lastIndexOf__II(
path, sep, i - (jint)1)) >= 0))
{
pos= 0;
}
else
{
if (pos < len)
{
if ((java_lang_String__charAt__I(
path, pos)) == sep)
{
pos++;
}
else
{
if (pos > (jint)2 && (java_lang_String__indexOf__II(
path, (jchar)58/*':'*/, pos)) < 0 && (java_lang_String__indexOf__II(
path, sep, pos + (jint)1)) < 0)
{
pos= 0;
}
}
}
}
}
}
}
}
return pos;
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
java_io_VMFile__driveIndexOf__C( jchar ch )
{
{
if (ch >= (jchar)65/*'A'*/ && ch <= (jchar)90/*'Z'*/)
{
return ch - ((jchar)65/*'A'*/ - (jint)1);
}
if (ch >= (jchar)97/*'a'*/ && ch <= (jchar)122/*'z'*/)
{
return ch - ((jchar)97/*'a'*/ - (jint)1);
}
return (-(jint)1);
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__drivePathPrefix__I( jint drive )
{
{
return drive > 0 && drive <= (jint)(jchar)90/*'Z'*/ - (jchar)65/*'A'*/ +
(jint)1? java_lang_VMSystem__concat0X__LsLs(
(java_lang_String__valueOf__C(
(jchar)(drive + ((jchar)65/*'A'*/ - (jint)1)))), JCGO_STRREF_OF(jcgo_string441_Mdclnt)) :
jnull;
}
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__getCurDir__( void )
{
{
java_lang_String path;
path= ((java_lang_String)JCGO_ARRAY_NZLACCESS(java_io_VMFile__driveDirCache,
0));
if (path == jnull)
{
jint drive;
path= (java_io_VMFile__getDriveCurDir0__I(
0));
if (path == jnull || (java_lang_String__length__(
path)) == 0)
{
return (java_lang_String)jnull;
}
if (java_io_VMFile__IS_UNIX_FS && (java_lang_String__length__(
path)) > (jint)2 && (java_lang_String__charAt__I(
path, (jint)1)) == (jchar)58/*':'*/ && (java_lang_String__charAt__I(
path, (jint)2)) == java_io_VMFile__FILE_SEP)
{
java_io_VMFile__defaultDrive= (java_io_VMFile__driveIndexOf__C(
(java_lang_String__charAt__I(
path, 0))));
}
path= (java_io_VMFile__normPlatformPath__Ls(
path));
*(java_lang_String*)&JCGO_ARRAY_NZLACCESS(java_io_VMFile__driveDirCache,
0)= path;
if (JCGO_ARRAY_NZLENGTH(java_io_VMFile__driveDirCache) > (jint)1 &&
(java_lang_String__length__(
path)) > (jint)2 && (java_lang_String__charAt__I(
path, (jint)1)) == (jchar)58/*':'*/ && (drive= (java_io_VMFile__driveIndexOf__C(
(java_lang_String__charAt__I(
path, 0))))) > 0 && (java_lang_String__charAt__I(
path, (jint)2)) == java_io_VMFile__FILE_SEP)
{
*(java_lang_String*)&JCGO_ARRAY_NZLACCESS(java_io_VMFile__driveDirCache,
drive)= path;
}
}
return path;
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
java_io_VMFile__getFilePathSepChar0__I( jint isPath )
{
#ifdef NOJAVA_java_io_VMFile_getFilePathSepChar0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_getFilePathSepChar0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
isPath);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
java_io_VMFile__isIOErrorNoEntity0__I( jint res )
{
#ifdef NOJAVA_java_io_VMFile_isIOErrorNoEntity0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_isIOErrorNoEntity0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__realPath0__LsIA( java_lang_String path, jintArr resArr
)
{
#ifdef NOJAVA_java_io_VMFile_realPath0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(2)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_realPath0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jstring)JCGO_JNI_TOLOCALREF(1, path), (jintArray)JCGO_JNI_TOLOCALREF(2,
resArr)));
#endif
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__getDriveCurDir0__I( jint drive )
{
#ifdef NOJAVA_java_io_VMFile_getDriveCurDir0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(0)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_getDriveCurDir0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
drive));
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
java_io_VMFile__getLnkDevInode0__LsJA( java_lang_String path, jlongArr
devInodeArr )
{
#ifdef NOJAVA_java_io_VMFile_getLnkDevInode0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(2)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_getLnkDevInode0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jstring)JCGO_JNI_TOLOCALREF(1, path), (jlongArray)JCGO_JNI_TOLOCALREF(2,
devInodeArr));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__dirOpenReadFirst0__BALs( jbyteArr dirdata, java_lang_String
path )
{
#ifdef NOJAVA_java_io_VMFile_dirOpenReadFirst0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(2)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_dirOpenReadFirst0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jbyteArray)JCGO_JNI_TOLOCALREF(1, dirdata), (jstring)JCGO_JNI_TOLOCALREF(2,
path)));
#endif
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_io_VMFile__dirReadNext0__BA( jbyteArr dirdata )
{
#ifdef NOJAVA_java_io_VMFile_dirReadNext0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(1)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_java_io_VMFile_dirReadNext0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jbyteArray)JCGO_JNI_TOLOCALREF(1, dirdata)));
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
java_io_VMFile__dirClose0__BA( jbyteArr dirdata )
{
#ifdef NOJAVA_java_io_VMFile_dirClose0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(1)
jcgo_retval= JCGO_JNI_FUNC(Java_java_io_VMFile_dirClose0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(java_io_VMFile__class)),
(jbyteArray)JCGO_JNI_TOLOCALREF(1, dirdata));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC void CFASTCALL
java_io_VMFile__class__0( void )
{
jObject jcgo_rcvrL1;
JCGO_CLINIT_BEGIN(java_io_VMFile__class);
java_io_VMFile__IS_CASE_SENSITIVE= (java_io_VMFile__isCaseSensitive0__()) !=
0;
java_io_VMFile__IS_UNIX_FS= (java_io_VMFile__isUniRootFileSys0__()) !=
0;
java_io_VMFile__FILE_SEP= (jchar)(java_io_VMFile__getFilePathSepChar0__I(
0));
java_io_VMFile__PATH_SEP= (jchar)(java_io_VMFile__getFilePathSepChar0__I(
(jint)1));
java_io_VMFile__DIR_DATASIZE_ISFIND= (java_io_VMFile__dirDataSizeAndIsFind0__());
java_io_VMFile__DIR_OP_LOCK= (java_io_VMFile__dirOpNeedsSync0__()) !=
0? java_lang_Object__new__() : jnull;
java_io_VMFile__driveDirCache= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(java_lang_String__class),
0, java_io_VMFile__IS_UNIX_FS? (jint)1 : (jint)(jchar)90/*'Z'*/ -
(jchar)65/*'A'*/ + (jint)2);
java_io_VMFile__DOS_UNIX_DRIVE_PREFIX= (jcgo_rcvrL1= (jObject)(java_io_VMFile__getDosUnixDrivePrefix0__()),
JCGO_CALL_FINALF((java_lang_String)jcgo_rcvrL1) java_lang_String__replace__CC(
(java_lang_String)jcgo_rcvrL1, (jchar)47/*'/'*/, java_io_VMFile__FILE_SEP));
JCGO_CLINIT_DONE(java_io_VMFile__class);
}
JCGO_NOSEP_DATA CONST struct jcgo_methods_s java_io_VMFile_methods=
{
JCGO_CLASSREF_OF(java_io_VMFile__class),
JCGO_GCJDESCR_ZEROINIT
OBJT_java_io_VMFile,
0,
NULL,
JCGO_CLINIT_INIT(java_io_VMFile__class__0)
0
};
JCGO_NOSEP_DATA struct java_io_VMFile_class_s java_io_VMFile__class
ATTRIBNONGC=
{
{
&java_lang_Class_methods,
JCGO_MON_INIT
JCGO_OBJREF_OF(*(java_lang_Object)&java_io_VMFile_methods),
JCGO_STRREF_OF(jcgo_string1_VMFile),
JCGO_CLASSREF_OF(java_lang_Object__class),
((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
0x1d0
}
};
JCGO_NOSEP_GCDATA java_lang_Object java_io_VMFile__DIR_OP_LOCK ATTRIBGCBSS=
jnull;
JCGO_NOSEP_GCDATA jObjectArr java_io_VMFile__driveDirCache ATTRIBGCBSS=
jnull;
JCGO_NOSEP_GCDATA java_lang_String java_io_VMFile__DOS_UNIX_DRIVE_PREFIX
ATTRIBGCBSS= jnull;
JCGO_NOSEP_DATA jint java_io_VMFile__DIR_DATASIZE_ISFIND= (jint)0;
JCGO_NOSEP_DATA jint java_io_VMFile__defaultDrive= (jint)0;
JCGO_NOSEP_DATA jchar java_io_VMFile__FILE_SEP= (jchar)0;
JCGO_NOSEP_DATA jchar java_io_VMFile__PATH_SEP= (jchar)0;
JCGO_NOSEP_DATA jboolean java_io_VMFile__IS_CASE_SENSITIVE= (jboolean)0;
JCGO_NOSEP_DATA jboolean java_io_VMFile__IS_UNIX_FS= (jboolean)0;
JCGO_NOSEP_DATA CONST jcgo_arrtype63_GmCnnctn jcgo_array3_VMFile=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
14,
{
(jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)118/*'v'*/,
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)86/*'V'*/,
(jbyte)(jchar)77/*'M'*/, (jbyte)(jchar)70/*'F'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)101/*'e'*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype640_Mdclnt jcgo_array4_VMFile=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
3,
{
(jbyte)(jchar)42/*'*'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)42/*'*'*/
}
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_VMFile
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array3_VMFile),
0, 14, (jint)0xb4691dcfL
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string2_VMFile
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array4_VMFile),
0, 3, (jint)0xa366L
};
#ifdef CHKALL_java_io_VMFile
#include "jcgochke.h"
#endif
#endif