]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Avoid dead assignment of return value of execv
authorTravis Cross <tc@traviscross.com>
Wed, 30 Apr 2014 21:57:07 +0000 (21:57 +0000)
committerTravis Cross <tc@traviscross.com>
Wed, 30 Apr 2014 22:33:24 +0000 (22:33 +0000)
execv(3) only returns on error, and will always return -1 in that
case.

src/switch.c

index b1c94eea911d1f0ff9f36164705bfee667783636..6c2ef2a8270fb8e5cbcf8a80cd063d29a06eed5c 100644 (file)
@@ -1203,14 +1203,13 @@ int main(int argc, char *argv[])
                int j = 0;
 
                switch_sleep(1000000);
-               ret = (int) execv(argv[0], argv);
-               fprintf(stderr, "Restart Failed [%s] resorting to plan b\n", strerror(errno));
-
-               for (j = 0; j < argc; j++) {
-                       switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[j]);
+               if (execv(argv[0], argv) == -1) {
+                       fprintf(stderr, "Restart Failed [%s] resorting to plan b\n", strerror(errno));
+                       for (j = 0; j < argc; j++) {
+                               switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[j]);
+                       }
+                       ret = system(buf);
                }
-
-               ret = system(buf);
        }
 
        return ret;