- Timestamp:
- Mar 15, 2012, 9:06:45 PM (13 years ago)
- Location:
- branches/libc-0.6/src/emx
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/libc-0.6/src/emx/include/InnoTekLIBC
-
Property svn:mergeinfo
set to
/trunk/libc/include/klibc merged eligible
-
Property svn:mergeinfo
set to
-
branches/libc-0.6/src/emx/include/InnoTekLIBC/backend.h
r3695 r3771 183 183 /** Flags for __libc_Back_fsPathResolve(). 184 184 * @{ */ 185 #define __LIBC_BACKFS_FLAGS_RESOLVE_FULL 0 185 #define __LIBC_BACKFS_FLAGS_RESOLVE_FULL 0 186 /** Resolves and verfies the entire path, but it's ok if the last component 187 * does not exist. */ 188 #define __LIBC_BACKFS_FLAGS_RESOLVE_FULL_MAYBE 0x01 186 189 /** Get the native path instead, no unix root translations. */ 187 #define __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE 0x10190 #define __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE 0x10 188 191 /** @} */ 189 192 -
branches/libc-0.6/src/emx/src/lib/misc
-
Property svn:mergeinfo
set to
/trunk/libc/src/libc/misc merged eligible
-
Property svn:mergeinfo
set to
-
branches/libc-0.6/src/emx/src/lib/misc/_realrealpath.c
r2254 r3771 39 39 40 40 /** 41 * Gets the absolute native path. This is used when path and such is passed on to 42 * non libc processes. 41 * Gets the absolute native path. 42 * 43 * This is used when path and such is passed on to non-kLibC processes. 43 44 * 44 45 * @returns Pointer to the resolved path. 45 46 * @returns NULL and errno on failure. 46 47 * @param pszPath The path to resolve 47 * @param pszResolved Where to put the resolved path. 48 * If NULL a fitting buffer is malloc'ed. 49 * @param cchResolved Size of the passed in buffer. Minimum size of an allocated buffer. 48 * @param pszResolved Where to put the resolved path. If NULL, a fitting 49 * buffer is malloc'ed. 50 * @param cbResolved Size of the passed in buffer. Minimum size of an 51 * allocated buffer. 50 52 */ 51 char *_realrealpath(const char *pszPath, char *pszResolved, size_t c chResolved)53 char *_realrealpath(const char *pszPath, char *pszResolved, size_t cbResolved) 52 54 { 53 LIBCLOG_ENTER("pszPath=%p:{%s} pszResolved=%p c chResolved=%d\n", (void *)pszPath, pszPath, pszResolved, cchResolved);55 LIBCLOG_ENTER("pszPath=%p:{%s} pszResolved=%p cbResolved=%d\n", (void *)pszPath, pszPath, pszResolved, cbResolved); 54 56 55 57 if (!pszPath) … … 65 67 if (psz) 66 68 { 67 rc = __libc_Back_fsPathResolve(pszPath, psz, PATH_MAX, __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE );69 rc = __libc_Back_fsPathResolve(pszPath, psz, PATH_MAX, __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE | __LIBC_BACKFS_FLAGS_RESOLVE_FULL_MAYBE); 68 70 if (!rc) 69 71 { 70 72 char *pszOld = psz; 71 73 int cch = strlen(psz) + 1; 72 if (cch < c chResolved)73 cch = c chResolved;74 if (cch < cbResolved) 75 cch = cbResolved; 74 76 psz = realloc(psz, cch); 75 77 if (!psz) … … 86 88 87 89 char *pszRet = pszResolved; 88 rc = __libc_Back_fsPathResolve(pszPath, pszResolved, c chResolved, __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE);90 rc = __libc_Back_fsPathResolve(pszPath, pszResolved, cbResolved, __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE | __LIBC_BACKFS_FLAGS_RESOLVE_FULL_MAYBE); 89 91 if (!rc) 90 92 LIBCLOG_RETURN_MSG(pszRet, "ret %p - pszResolved=%p:{%s}\n", pszRet, pszResolved, pszResolved); -
branches/libc-0.6/src/emx/src/lib/misc/realpath.c
r2254 r3771 65 65 if (psz) 66 66 { 67 rc = __libc_Back_fsPathResolve(path, psz, PATH_MAX, 0);67 rc = __libc_Back_fsPathResolve(path, psz, PATH_MAX, __LIBC_BACKFS_FLAGS_RESOLVE_FULL_MAYBE); 68 68 if (!rc) 69 69 { … … 84 84 85 85 char *pszRet = resolved_path; 86 rc = __libc_Back_fsPathResolve(path, resolved_path, PATH_MAX, 0);86 rc = __libc_Back_fsPathResolve(path, resolved_path, PATH_MAX, __LIBC_BACKFS_FLAGS_RESOLVE_FULL_MAYBE); 87 87 if (!rc) 88 88 LIBCLOG_RETURN_MSG(pszRet, "ret %p - resolved_path=%p:{%s}\n", pszRet, resolved_path, resolved_path); -
branches/libc-0.6/src/emx/src/lib/sys
-
Property svn:mergeinfo
set to
/trunk/libc/src/kNIX merged eligible
-
Property svn:mergeinfo
set to
-
branches/libc-0.6/src/emx/src/lib/sys/b_fsPathResolve.c
r2254 r3771 64 64 * Resolve to native path. 65 65 */ 66 int fInUnixTree; 67 char szNativePath[PATH_MAX]; 68 szNativePath[0] = '\0'; 69 rc = __libc_back_fsResolve(pszPath, BACKFS_FLAGS_RESOLVE_FULL | BACKFS_FLAGS_RESOLVE_DIR_MAYBE, szNativePath, &fInUnixTree); 66 int fInUnixTree = 0; 67 char szNativePath[PATH_MAX]; 68 unsigned int fBackFsFlags = fFlags & __LIBC_BACKFS_FLAGS_RESOLVE_FULL_MAYBE 69 ? BACKFS_FLAGS_RESOLVE_DIR_MAYBE | BACKFS_FLAGS_RESOLVE_FULL_MAYBE 70 : BACKFS_FLAGS_RESOLVE_DIR_MAYBE | BACKFS_FLAGS_RESOLVE_FULL; 71 szNativePath[0] = szNativePath[1] = szNativePath[2] = szNativePath[3] = '\0'; 72 rc = __libc_back_fsResolve(pszPath, fBackFsFlags, szNativePath, &fInUnixTree); 70 73 71 74 /* … … 73 76 */ 74 77 char *pszSrc = &szNativePath[0]; 75 if (!(fFlags & __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE) && fInUnixTree) 78 if ( !(fFlags & __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE) 79 && fInUnixTree 80 && *pszSrc) 76 81 { 77 82 pszSrc += __libc_gcchUnixRoot;
Note:
See TracChangeset
for help on using the changeset viewer.