Ignore:
Timestamp:
Aug 25, 1999, 4:41:14 PM (26 years ago)
Author:
phaller
Message:

Fix: HandleManager cosmetic

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/HandleManager.cpp

    r690 r691  
    1 /* $Id: HandleManager.cpp,v 1.16 1999-08-25 14:27:04 sandervl Exp $ */
     1/* $Id: HandleManager.cpp,v 1.17 1999-08-25 14:41:14 phaller Exp $ */
    22
    33/*
     
    636636 * Name      : HANDLE  HMDuplicateHandle
    637637 * Purpose   : replacement for Open32's HMDuplicateHandle function
    638  * Parameters: 
    639  *             
     638 * Parameters:
     639 *
    640640 * Variables :
    641641 * Result    : BOOL fSuccess
     
    643643 * Status    :
    644644 *
    645  * Author    : Patrick Haller [Wed, 1998/02/12 20:44]
    646  *****************************************************************************/
     645 * Author    : Sander van Leeuwen [Wed, 1999/08/25 15:44]
     646 *****************************************************************************/
     647
    647648BOOL HMDuplicateHandle(HANDLE  srcprocess,
    648649                       HANDLE  srchandle,
     
    659660  DWORD           rc;                                     /* API return code */
    660661
    661   if(HMHandleValidate(srchandle) != NO_ERROR) {
    662         dprintf(("HMDuplicateHandle: invalid handle %x", srchandle));
    663         SetLastError(ERROR_INVALID_HANDLE);      /* use this as error message */
    664         return FALSE;
    665   }
    666 
    667   pDeviceHandler = TabWin32Handles[srchandle].pDeviceHandler;         /* device is predefined */
    668 
     662  if(HMHandleValidate(srchandle) != NO_ERROR)
     663  {
     664    dprintf(("KERNEL32: HMDuplicateHandle: invalid handle %x", srchandle));
     665    SetLastError(ERROR_INVALID_HANDLE);      /* use this as error message */
     666    return FALSE;
     667  }
     668
     669  pDeviceHandler = TabWin32Handles[srchandle].pDeviceHandler;  /* device is predefined */
    669670  iIndexNew = _HMHandleGetFree();                         /* get free handle */
    670671  if (-1 == iIndexNew)                            /* oops, no free handles ! */
     
    675676
    676677  /* initialize the complete HMHANDLEDATA structure */
    677   pHMHandleData = &TabWin32Handles[iIndexNew].hmHandleData;
    678   pHMHandleData->dwType     = TabWin32Handles[srchandle].hmHandleData.dwType;
    679   if (fdwOptions & DUPLICATE_SAME_ACCESS) {
    680         pHMHandleData->dwAccess   = TabWin32Handles[srchandle].hmHandleData.dwAccess;
    681   }
    682   else  pHMHandleData->dwAccess   = fdwAccess;
     678  pHMHandleData                = &TabWin32Handles[iIndexNew].hmHandleData;
     679  pHMHandleData->dwType        = TabWin32Handles[srchandle].hmHandleData.dwType;
     680  if (fdwOptions & DUPLICATE_SAME_ACCESS)
     681    pHMHandleData->dwAccess    = TabWin32Handles[srchandle].hmHandleData.dwAccess;
     682  else
     683    pHMHandleData->dwAccess    = fdwAccess;
    683684
    684685  pHMHandleData->dwShare       = TabWin32Handles[srchandle].hmHandleData.dwShare;
     
    697698                                                  /* call the device handler */
    698699  rc = pDeviceHandler->DuplicateHandle(&TabWin32Handles[iIndexNew].hmHandleData,
    699                                        srcprocess,
    700                                        &TabWin32Handles[srchandle].hmHandleData,
    701                                        destprocess, desthandle,
    702                                        fdwAccess, fInherit, fdwOptions & ~DUPLICATE_CLOSE_SOURCE);
     700                                       srcprocess,
     701                                       &TabWin32Handles[srchandle].hmHandleData,
     702                                       destprocess,
     703                                       desthandle,
     704                                       fdwAccess,
     705                                       fInherit,
     706                                       fdwOptions & ~DUPLICATE_CLOSE_SOURCE);
    703707
    704708  //Don't let Open32 close it for us, but do it manually (regardless of error; see SDK docs))
    705   if (fdwOptions & DUPLICATE_CLOSE_SOURCE)
    706   {
    707         CloseHandle(srchandle);
    708   }
     709  if (fdwOptions & DUPLICATE_CLOSE_SOURCE)
     710    HMCloseHandle(srchandle);
    709711
    710712  if (rc != NO_ERROR)     /* oops, creation failed within the device handler */
     
    10031005  pHMHandle = &TabWin32Handles[iIndex];               /* call device handler */
    10041006  //SvL: Check if pDeviceHandler is set
    1005   if (pHMHandle->pDeviceHandler) {
    1006         fResult = pHMHandle->pDeviceHandler->CloseHandle(&pHMHandle->hmHandleData);
    1007   }
    1008   else {
    1009         dprintf(("HMCloseHAndle(%08xh): pDeviceHandler not set", hObject));
    1010         fResult = TRUE;
     1007  if (pHMHandle->pDeviceHandler)
     1008  {
     1009    fResult = pHMHandle->pDeviceHandler->CloseHandle(&pHMHandle->hmHandleData);
     1010  }
     1011  else
     1012  {
     1013    dprintf(("HMCloseHAndle(%08xh): pDeviceHandler not set", hObject));
     1014    fResult = TRUE;
    10111015  }
    10121016
Note: See TracChangeset for help on using the changeset viewer.