Author: greatlrd Date: Sun Sep 2 00:25:50 2007 New Revision: 28750
URL: http://svn.reactos.org/svn/reactos?rev=28750&view=rev Log: revert 28748 that change are incorrect, it shall only check if the bits are set or not, if no flag are set we shall fail, if one flag are set we shall doing the call.
Modified: trunk/reactos/dll/win32/gdi32/objects/font.c
Modified: trunk/reactos/dll/win32/gdi32/objects/font.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/fon... ============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/font.c (original) +++ trunk/reactos/dll/win32/gdi32/objects/font.c Sun Sep 2 00:25:50 2007 @@ -1091,13 +1091,17 @@ STDCALL AddFontResourceExW ( LPCWSTR lpszFilename, DWORD fl, PVOID pvReserved ) { - if (fl & ~(FR_PRIVATE | FR_NOT_ENUM)) + int retVal = 0; + + if (fl & (FR_PRIVATE | FR_NOT_ENUM)) + { + retVal = GdiAddFontResourceW(lpszFilename, fl,0); + } + else { SetLastError( ERROR_INVALID_PARAMETER ); - return 0; - } - - return GdiAddFontResourceW(lpszFilename, fl,0); + } + return retVal; }
@@ -1110,24 +1114,26 @@ { NTSTATUS Status; PWSTR FilenameW; - int rc; - - if (fl & ~(FR_PRIVATE | FR_NOT_ENUM)) + int rc = 0; + + if (!(fl & (FR_PRIVATE | FR_NOT_ENUM))) { SetLastError( ERROR_INVALID_PARAMETER ); - return 0; - } - - Status = HEAP_strdupA2W ( &FilenameW, lpszFilename ); - if ( !NT_SUCCESS (Status) ) - { - SetLastError (RtlNtStatusToDosError(Status)); - return 0; - } - - rc = GdiAddFontResourceW ( FilenameW, fl, 0 ); - HEAP_free ( FilenameW ); - return rc; + } + else + { + Status = HEAP_strdupA2W ( &FilenameW, lpszFilename ); + if ( !NT_SUCCESS (Status) ) + { + SetLastError (RtlNtStatusToDosError(Status)); + } + else + { + rc = GdiAddFontResourceW ( FilenameW, fl, 0 ); + HEAP_free ( FilenameW ); + } + } + return rc; }