OSDN Git Service

egl: Cleanup control flow in _eglParseSyncAttribList
authorChad Versace <chadversary@chromium.org>
Tue, 27 Sep 2016 20:27:18 +0000 (13:27 -0700)
committerChad Versace <chadversary@chromium.org>
Tue, 4 Oct 2016 21:11:29 +0000 (14:11 -0700)
When the function encountered an error, it effectively returned
immediately. However, it did so indirectly by breaking out of a loop.
Replace the loop breakout with a explicit 'return'.

Do the same for _eglParseSyncAttribList64 too.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
src/egl/main/eglsync.c

index f325031..6f77992 100644 (file)
@@ -41,7 +41,7 @@
 static EGLint
 _eglParseSyncAttribList(_EGLSync *sync, const EGLint *attrib_list)
 {
-   EGLint i, err = EGL_SUCCESS;
+   EGLint i;
 
    if (!attrib_list)
       return EGL_SUCCESS;
@@ -49,6 +49,7 @@ _eglParseSyncAttribList(_EGLSync *sync, const EGLint *attrib_list)
    for (i = 0; attrib_list[i] != EGL_NONE; i++) {
       EGLint attr = attrib_list[i++];
       EGLint val = attrib_list[i];
+      EGLint err = EGL_SUCCESS;
 
       switch (attr) {
       default:
@@ -59,18 +60,18 @@ _eglParseSyncAttribList(_EGLSync *sync, const EGLint *attrib_list)
 
       if (err != EGL_SUCCESS) {
          _eglLog(_EGL_DEBUG, "bad sync attribute 0x%04x", attr);
-         break;
+         return err;
       }
    }
 
-   return err;
+   return EGL_SUCCESS;
 }
 
 
 static EGLint
 _eglParseSyncAttribList64(_EGLSync *sync, const EGLAttrib *attrib_list)
 {
-   EGLint i, err = EGL_SUCCESS;
+   EGLint i;
 
    if (!attrib_list)
       return EGL_SUCCESS;
@@ -78,6 +79,7 @@ _eglParseSyncAttribList64(_EGLSync *sync, const EGLAttrib *attrib_list)
    for (i = 0; attrib_list[i] != EGL_NONE; i++) {
       EGLAttrib attr = attrib_list[i++];
       EGLAttrib val = attrib_list[i];
+      EGLint err = EGL_SUCCESS;
 
       switch (attr) {
       case EGL_CL_EVENT_HANDLE_KHR:
@@ -94,11 +96,11 @@ _eglParseSyncAttribList64(_EGLSync *sync, const EGLAttrib *attrib_list)
 
       if (err != EGL_SUCCESS) {
          _eglLog(_EGL_DEBUG, "bad sync attribute 0x%" PRIxPTR, attr);
-         break;
+         return err;
       }
    }
 
-   return err;
+   return EGL_SUCCESS;
 }