Was there something wrong with this patch series?
On Tue, 2008-11-11 at 11:24 -0500, Adam Petaccia wrote:
> Changelog:
> try3:
> Only copy the bytes we'll use
> Toss out bytesWritten
> try2:
> Fix memcpy() use
> Add documentation
> Add testcase
> ---
> dlls/gdiplus/font.c | 27 +++++++++++++++++++++++++++
> dlls/gdiplus/gdiplus.spec | 2 +-
> include/gdiplusflat.h | 1 +
> 3 files changed, 29 insertions(+), 1 deletions(-)
>
> diff --git a/dlls/gdiplus/font.c b/dlls/gdiplus/font.c
> index 32713c7..7f815b6 100644
> --- a/dlls/gdiplus/font.c
> +++ b/dlls/gdiplus/font.c
> @@ -368,6 +368,33 @@ GpStatus WINGDIPAPI GdipGetFontUnit(GpFont *font, Unit *unit)
> }
>
> /*******************************************************************************
> + * GdipGetLogFontA [GDIPLUS.@]
> + *
> + * Converts a font into a LOGFONTA
> + *
> + * PARAMS
> + * font [I] GpFont to create LOGFONTA object
> + * graphics [I] Current graphics context
> + * lfa [O] Resulting LOGFONTA object
> + * RETURNS
> + * InvalidParameter: font, graphics, or lfa was NULL.
> + * Ok: otherwise
> + */
> +GpStatus WINGDIPAPI GdipGetLogFontA(GpFont *font, GpGraphics *graphics,
> + LOGFONTA *lfa)
> +{
> + /* FIXME: use graphics */
> + if(!(font && graphics && lfa))
> + return InvalidParameter;
> +
> + memcpy(lfa, &font->lfw, FIELD_OFFSET(LOGFONTA, lfFaceName));
> + WideCharToMultiByte(CP_ACP, 0, font->lfw.lfFaceName, -1,
> + lfa->lfFaceName, LF_FACESIZE, NULL, NULL);
> +
> + return Ok;
> +}
> +
> +/*******************************************************************************
> * GdipGetLogFontW [GDIPLUS.@]
> */
> GpStatus WINGDIPAPI GdipGetLogFontW(GpFont *font, GpGraphics *graphics,
> diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
> index c25d4b7..dce558c 100644
> --- a/dlls/gdiplus/gdiplus.spec
> +++ b/dlls/gdiplus/gdiplus.spec
> @@ -311,7 +311,7 @@
> @ stdcall GdipGetLineSpacing(ptr long ptr)
> @ stub GdipGetLineTransform
> @ stdcall GdipGetLineWrapMode(ptr ptr)
> -@ stub GdipGetLogFontA
> +@ stdcall GdipGetLogFontA(ptr ptr ptr)
> @ stdcall GdipGetLogFontW(ptr ptr ptr)
> @ stdcall GdipGetMatrixElements(ptr ptr)
> @ stub GdipGetMetafileDownLevelRasterizationLimit
> diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
> index ea4bec5..a2c6fc9 100644
> --- a/include/gdiplusflat.h
> +++ b/include/gdiplusflat.h
> @@ -81,6 +81,7 @@ GpStatus WINGDIPAPI GdipCreateFontFromDC(HDC,GpFont**);
> GpStatus WINGDIPAPI GdipCreateFontFromLogfontA(HDC,GDIPCONST LOGFONTA*,GpFont**);
> GpStatus WINGDIPAPI GdipCreateFontFromLogfontW(HDC,GDIPCONST LOGFONTW*,GpFont**);
> GpStatus WINGDIPAPI GdipDeleteFont(GpFont*);
> +GpStatus WINGDIPAPI GdipGetLogFontA(GpFont*,GpGraphics*,LOGFONTA*);
> GpStatus WINGDIPAPI GdipGetLogFontW(GpFont*,GpGraphics*,LOGFONTW*);
> GpStatus WINGDIPAPI GdipGetFamily(GpFont*, GpFontFamily**);
> GpStatus WINGDIPAPI GdipGetFontUnit(GpFont*, Unit*);