]> Sergey Matveev's repositories - nnn.git/commitdiff
Fix compilation issues with -O3 optimization.
authorArun Prakash Jana <engineerarun@gmail.com>
Sat, 20 Aug 2016 16:09:47 +0000 (21:39 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sat, 20 Aug 2016 16:09:47 +0000 (21:39 +0530)
noice.c

diff --git a/noice.c b/noice.c
index 4db6f7f1d211f547668b3bb7a4cbf04e195da93b..9e679a8bca5d55f8893fc263abcda233596efc2d 100644 (file)
--- a/noice.c
+++ b/noice.c
@@ -118,7 +118,7 @@ dprintf(int fd, const char *fmt, ...)
        va_start(ap, fmt);
        r = vsnprintf(buf, sizeof(buf), fmt, ap);
        if (r > 0)
-               write(fd, buf, r);
+               r = write(fd, buf, r);
        va_end(ap);
        return r;
 }
@@ -179,7 +179,7 @@ spawn(char *file, char *arg, char *dir)
        pid = fork();
        if (pid == 0) {
                if (dir != NULL)
-                       chdir(dir);
+                       status = chdir(dir);
                execlp(file, file, arg, NULL);
                _exit(1);
        } else {
@@ -218,7 +218,6 @@ openwith(char *file)
        DPRINTF_S(mime);
 
        if (strcmp(mime, "text/plain") == 0)
-               magic_close(magic);
                return "vim";
        magic_close(magic);
 
@@ -566,7 +565,10 @@ redraw(char *path)
                ncols = PATH_MAX;
        strlcpy(cwd, path, ncols);
        cwd[ncols - strlen(CWD) - 1] = '\0';
-       realpath(cwd, cwdresolved);
+       if (!realpath(cwd, cwdresolved)) {
+               printmsg("Cannot resolve path");
+               return;
+       }
 
        printw(CWD "%s\n\n", cwdresolved);
 
@@ -665,11 +667,11 @@ nochange:
                        case S_IFREG:
                                bin = openwith(newpath);
                                if (bin == NULL) {
-                                        char cmd[512];
-                                        sprintf(cmd, "xdg-open \"%s\" > /dev/null 2>&1", newpath);
-                                        system(cmd);
-                                       printmsg("No association");
-                                       goto nochange;
+                                       char cmd[512];
+                                       int status;
+                                       sprintf(cmd, "xdg-open \"%s\" > /dev/null 2>&1", newpath);
+                                       status = system(cmd);
+                                       continue;
                                }
                                exitcurses();
                                spawn(bin, newpath, NULL);