From 290cc1ffd4093314fee4c160bac6843f20b6cda8 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sat, 1 Sep 2007 20:25:50 +0000 Subject: [PATCH] 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. svn path=/trunk/; revision=28750 --- reactos/dll/win32/gdi32/objects/font.c | 38 +++++++++++++++----------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/reactos/dll/win32/gdi32/objects/font.c b/reactos/dll/win32/gdi32/objects/font.c index 78e932e448f..13834ad1e56 100644 --- a/reactos/dll/win32/gdi32/objects/font.c +++ b/reactos/dll/win32/gdi32/objects/font.c @@ -1091,13 +1091,17 @@ int 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 @@ AddFontResourceExA ( LPCSTR lpszFilename, DWORD fl, PVOID pvReserved ) { NTSTATUS Status; PWSTR FilenameW; - int rc; + int rc = 0; - if (fl & ~(FR_PRIVATE | FR_NOT_ENUM)) + if (!(fl & (FR_PRIVATE | FR_NOT_ENUM))) { SetLastError( ERROR_INVALID_PARAMETER ); - return 0; } - - Status = HEAP_strdupA2W ( &FilenameW, lpszFilename ); - if ( !NT_SUCCESS (Status) ) + else { - SetLastError (RtlNtStatusToDosError(Status)); - return 0; + Status = HEAP_strdupA2W ( &FilenameW, lpszFilename ); + if ( !NT_SUCCESS (Status) ) + { + SetLastError (RtlNtStatusToDosError(Status)); + } + else + { + rc = GdiAddFontResourceW ( FilenameW, fl, 0 ); + HEAP_free ( FilenameW ); + } } - - rc = GdiAddFontResourceW ( FilenameW, fl, 0 ); - HEAP_free ( FilenameW ); - return rc; + return rc; }