Changeset 4698 for trunk/src/kernel32/oslibdos.cpp
- Timestamp:
- Nov 25, 2000, 5:56:57 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/oslibdos.cpp
r4555 r4698 1 /* $Id: oslibdos.cpp,v 1.5 0 2000-11-05 13:40:45sandervl Exp $ */1 /* $Id: oslibdos.cpp,v 1.51 2000-11-25 16:56:57 sandervl Exp $ */ 2 2 /* 3 3 * Wrappers for OS/2 Dos* API … … 325 325 //****************************************************************************** 326 326 //NOTE: If name == NULL, allocated gettable unnamed shared memory 327 //OS/2 returns error 123 (invalid name) if the shared memory name includes 328 //colons. We need to replace them with underscores. 327 329 //****************************************************************************** 328 330 DWORD OSLibDosAllocSharedMem(LPVOID *lplpMemAddr, DWORD size, DWORD flags, LPSTR name) 329 331 { 330 332 APIRET rc; 331 char *sharedmemname = NULL ;333 char *sharedmemname = NULL, *tmp; 332 334 333 335 if(name) { … … 338 340 else flags |= OBJ_GETTABLE; 339 341 342 //SvL: Colons are unacceptable in shared memory names (for whatever reason) 343 tmp = sharedmemname; 344 while(*tmp != 0) { 345 if(*tmp == ':') { 346 *tmp = '_'; 347 } 348 tmp++; 349 } 350 340 351 rc = DosAllocSharedMem(lplpMemAddr, sharedmemname, size, flags); 341 352 if(name) { … … 350 361 { 351 362 APIRET rc; 352 char *sharedmemname = NULL ;363 char *sharedmemname = NULL, *tmp; 353 364 354 365 if(name) { … … 356 367 strcpy(sharedmemname, "\\SHAREMEM\\"); 357 368 strcat(sharedmemname, name); 369 370 //SvL: Colons are unacceptable in shared memory names (for whatever reason) 371 tmp = sharedmemname; 372 while(*tmp != 0) { 373 if(*tmp == ':') { 374 *tmp = '_'; 375 } 376 tmp++; 377 } 358 378 rc = DosGetNamedSharedMem(lplpMemAddr, sharedmemname, PAG_READ|PAG_WRITE); 359 379 if(name) {
Note:
See TracChangeset
for help on using the changeset viewer.