Changeset 1523
- Timestamp:
- Sep 28, 2004, 3:46:31 AM (21 years ago)
- Location:
- trunk/src/emx
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/include/InnoTekLIBC/backend.h
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r1522 r1523 134 134 * @param pszBuf Where to store the resolved path. 135 135 * @param cchBuf Size of the buffer. 136 * @param fFlags At the moment 0. Which means the entire path must exist.136 * @param fFlags Combination of __LIBC_BACKFS_FLAGS_RESOLVE_* defines. 137 137 */ 138 138 int __libc_Back_fsPathResolve(const char *pszPath, char *pszBuf, size_t cchBuf, unsigned fFlags); 139 /** Flags for __libc_Back_fsPathResolve(). 140 * @{ */ 141 #define __LIBC_BACKFS_FLAGS_RESOLVE_FULL 0 142 /** Get the native path instead, no unix root translations. */ 143 #define __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE 0x10 144 /** @} */ 145 139 146 140 147 /** -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/stdlib.h
-
Property cvs2svn:cvs-rev
changed from
1.25
to1.26
r1522 r1523 292 292 #ifdef __BSD_VISIBLE 293 293 char *_getcwdux(char *, size_t); 294 /* todo: int _chdirux(char *); */ 295 char *_realrealpath(const char *, char *, size_t); 294 296 #endif 295 297 #ifdef __USE_GNU -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxomf/emxomfld.c
-
Property cvs2svn:cvs-rev
changed from
1.38
to1.39
r1522 r1523 803 803 * Make abspath with slashes the desired way and such. 804 804 */ 805 if ( _abspath(pszFullname, pszName, _MAX_PATH + 1))805 if (!_realrealpath(pszName, pszFullname, _MAX_PATH + 1)) 806 806 { 807 807 printf("emxomfld: _abspath failed on '%s'!!!\n", pszName); … … 962 962 if (phFile) 963 963 { 964 char *pszTmp; 964 965 if (autoconvert_flag) 965 966 { … … 968 969 else if (!check_omf(phFile)) 969 970 phFile = aout_to_omf(phFile, pszFullname, TRUE); 971 } 972 973 /* Get the real native path. */ 974 pszTmp = _realrealpath(pszFullname, NULL, 0); 975 if (pszTmp) 976 { 977 strcpy(pszFullname, pszTmp); 978 free(pszTmp); 970 979 } 971 980 … … 1103 1112 rc = WLDGenerateWeakAliases (pwld, weakobj_fname, weakdef_fname); 1104 1113 if (!rc && weakobj_fname[0]) 1105 add_name_list (&add_obj_fnames, weakobj_fname, 0); 1114 { 1115 char *pszTmp = _realrealpath(weakobj_fname, NULL, 0); 1116 if (pszTmp) 1117 { 1118 strcpy(weakobj_fname, pszTmp); 1119 free(pszTmp); 1120 } 1121 add_name_list (&add_obj_fnames, weakobj_fname, 0); 1122 } 1106 1123 if (!rc && weakdef_fname[0]) 1107 def_fname = weakdef_fname; 1124 { 1125 char *pszTmp = _realrealpath(weakdef_fname, NULL, 0); 1126 if (pszTmp) 1127 { 1128 strcpy(weakdef_fname, pszTmp); 1129 free(pszTmp); 1130 } 1131 def_fname = weakdef_fname; 1132 } 1108 1133 1109 1134 /* cleanup the linker */ … … 1424 1449 usage (); 1425 1450 } 1426 def_fname = optarg; 1451 def_fname = _realrealpath(optarg, NULL, 0); 1452 if (!def_fname) 1453 def_fname = optarg; 1427 1454 } 1428 1455 … … 1438 1465 usage (); 1439 1466 } 1440 res_fname = optarg; 1467 res_fname = _realrealpath(optarg, NULL, 0); 1468 if (!def_fname) 1469 res_fname = optarg; 1441 1470 } 1442 1471 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/libc.def
-
Property cvs2svn:cvs-rev
changed from
1.65
to1.66
r1522 r1523 1190 1190 "___libc_Back_fsDriveDefaultGet" @1210 1191 1191 "___libc_Back_fsDriveDefaultSet" @1211 1192 "__realrealpath" @1212 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/realpath.c
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r1522 r1523 69 69 LIBCLOG_RETURN_MSG(psz, "ret %p:{%s}\n", psz, psz); 70 70 } 71 free(psz); 71 72 } 72 73 else 73 74 rc = -ENOMEM; 74 free(psz);75 75 } 76 76 else -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/sys/b_fsPathResolve.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1522 r1523 34 34 #include <os2emx.h> 35 35 #include "fs.h" 36 #include <errno.h> 36 37 #include <string.h> 37 38 #include <InnoTekLIBC/backend.h> … … 49 50 * @param pszBuf Where to store the resolved path. 50 51 * @param cchBuf Size of the buffer. 51 * @param fFlags At the moment 0. Which means the entire path must exist.52 * @param fFlags Combination of __LIBC_BACKFS_FLAGS_RESOLVE_* defines. 52 53 */ 53 54 int __libc_Back_fsPathResolve(const char *pszPath, char *pszBuf, size_t cchBuf, unsigned fFlags) … … 69 70 { 70 71 char *pszSrc = &szNativePath[0]; 71 if ( fInUnixTree)72 if (!(fFlags & __LIBC_BACKFS_FLAGS_RESOLVE_NATIVE) && fInUnixTree) 72 73 { 73 74 pszSrc += __libc_gcchUnixRoot; … … 79 80 if (cch < cchBuf) 80 81 { 81 /** @todo use DosFindFirst to get the correctly cased path. */82 82 memcpy(pszBuf, pszSrc, cchBuf); 83 83 LIBCLOG_RETURN_MSG(0, "ret 0 pszPath=%p:{%s}\n", (void *)pszPath, pszPath); 84 84 } 85 else 86 rc = -ERANGE; 85 87 } 86 88 else -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.