- Timestamp:
- Apr 25, 2007, 2:02:22 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libc/src/kNIX/os2/fs-os2.c
r2935 r3214 162 162 * The special /@unixroot rewrite rule. 163 163 */ 164 static __LIBC_PATHREWRITE gaRewriteRule = 165 { 166 __LIBC_PRWF_CASE_SENSITIVE | __LIBC_PRWF_TYPE_DIR, "/@unixroot", 10, __libc_gszUnixRoot, 0 164 static __LIBC_PATHREWRITE gUnixRootRewriteRule = 165 { 166 __LIBC_PRWF_CASE_SENSITIVE | __LIBC_PRWF_TYPE_DIR, "/@unixroot", 10, __libc_gszUnixRoot, 0 167 }; 168 169 /** The full path to the executable directory. */ 170 char __libc_gszExecPath[CCHMAXPATH]; 171 172 /** 173 * The special /@executable_path rewrite rule. 174 */ 175 static __LIBC_PATHREWRITE gExecRewriteRule = 176 { 177 __LIBC_PRWF_CASE_SENSITIVE | __LIBC_PRWF_TYPE_DIR, "/@executable_path", 17, __libc_gszExecPath, 0 167 178 }; 168 179 … … 223 234 224 235 /* Register rewrite rule. */ 225 g aRewriteRule.pszTo = "/";226 g aRewriteRule.cchTo = 1;227 if (__libc_PathRewriteAdd(&g aRewriteRule, 1))236 gUnixRootRewriteRule.pszTo = "/"; 237 gUnixRootRewriteRule.cchTo = 1; 238 if (__libc_PathRewriteAdd(&gUnixRootRewriteRule, 1)) 228 239 LIBCLOG_RETURN_INT(-1); 229 240 } … … 251 262 252 263 /* Register the rewrite rule. */ 253 g aRewriteRule.cchTo = cch;254 if (__libc_PathRewriteAdd(&g aRewriteRule, 1))264 gUnixRootRewriteRule.cchTo = cch; 265 if (__libc_PathRewriteAdd(&gUnixRootRewriteRule, 1)) 255 266 LIBCLOG_RETURN_INT(-1); 256 267 } 257 268 } 258 269 270 271 /* 272 * Setup the the executable path rewrite rule. 273 */ 274 PTIB pTib; 275 PPIB pPib; 276 DosGetInfoBlocks(&pTib, &pPib); 277 rc = DosQueryModuleName(pPib->pib_hmte, sizeof(__libc_gszExecPath), &__libc_gszExecPath[0]); 278 if (!rc) 279 { 280 char *psz = strchr(&__libc_gszExecPath[0], '\0'); 281 while ( psz > &__libc_gszExecPath[0] 282 && *psz != '\\' 283 && *psz != '/' 284 && *psz != ':') 285 psz--; 286 *psz = '\0'; 287 gExecRewriteRule.cchTo = psz - &__libc_gszExecPath[0]; 288 } 289 else 290 { 291 LIBC_ASSERTM_FAILED("DosQueryModuleName(exe) failed: hmte=%lx rc=%d\n", pPib->pib_hmte, rc); 292 gExecRewriteRule.cchTo = 1; 293 gExecRewriteRule.pszTo = "/"; 294 } 295 if (__libc_PathRewriteAdd(&gExecRewriteRule, 1)) 296 LIBCLOG_RETURN_INT(-1); 259 297 260 298 /*
Note:
See TracChangeset
for help on using the changeset viewer.