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/fo…
==============================================================================
--- 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;
}