gdiplus: Avoid needless gotos.
Dmitry Timoshkov
dmitry at baikal.ru
Wed May 23 23:49:02 CDT 2012
---
dlls/gdiplus/region.c | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/dlls/gdiplus/region.c b/dlls/gdiplus/region.c
index ad8ab79..d4f590a 100644
--- a/dlls/gdiplus/region.c
+++ b/dlls/gdiplus/region.c
@@ -151,15 +151,15 @@ static inline GpStatus clone_element(const region_element* element,
{
case RegionDataRect:
(*element2)->elementdata.rect = element->elementdata.rect;
- break;
+ return Ok;
case RegionDataEmptyRect:
case RegionDataInfiniteRect:
- break;
+ return Ok;
case RegionDataPath:
(*element2)->elementdata.pathdata.pathheader = element->elementdata.pathdata.pathheader;
stat = GdipClonePath(element->elementdata.pathdata.path,
&(*element2)->elementdata.pathdata.path);
- if (stat != Ok) goto clone_out;
+ if (stat == Ok) return Ok;
break;
default:
(*element2)->elementdata.combine.left = NULL;
@@ -167,16 +167,15 @@ static inline GpStatus clone_element(const region_element* element,
stat = clone_element(element->elementdata.combine.left,
&(*element2)->elementdata.combine.left);
- if (stat != Ok) goto clone_out;
- stat = clone_element(element->elementdata.combine.right,
- &(*element2)->elementdata.combine.right);
- if (stat != Ok) goto clone_out;
+ if (stat == Ok)
+ {
+ stat = clone_element(element->elementdata.combine.right,
+ &(*element2)->elementdata.combine.right);
+ if (stat == Ok) return Ok;
+ }
break;
}
- return Ok;
-
-clone_out:
delete_element(*element2);
*element2 = NULL;
return stat;
--
1.7.10.1
More information about the wine-patches
mailing list