diff options
author | Thomas Klausner <wiz@NetBSD.org> | 2015-09-23 20:53:24 +0200 |
---|---|---|
committer | Thomas Klausner <wiz@NetBSD.org> | 2015-09-28 09:45:59 +0200 |
commit | c5abcb619eb0b01f074fd9acb9128f19af774834 (patch) | |
tree | 3b33a2b3674e9a9b1b816fcab0cb23343bfd9545 | |
parent | cb5dc44303e8496450a649a97540e55887e1fe22 (diff) |
Adapt callers to ExpandFilename change.
It now always allocates memory, so remove some unnecessary checks.
While here, improve handling of an error case.
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r-- | src/menus.c | 32 | ||||
-rw-r--r-- | src/util.c | 4 |
2 files changed, 20 insertions, 16 deletions
diff --git a/src/menus.c b/src/menus.c index e23b5ff..ada9c41 100644 --- a/src/menus.c +++ b/src/menus.c @@ -2020,7 +2020,7 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win, "%s: unable to open cut file \"%s\"\n", ProgramName, tmp); } - if (ptr != tmp) free (ptr); + free (ptr); } } else { XFree(ptr); @@ -2171,21 +2171,25 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win, case F_FILE: ptr = ExpandFilename(action); - fd = open(ptr, O_RDONLY); - if (fd >= 0) - { - count = read(fd, buff, MAX_FILE_SIZE - 1); - if (count > 0) - XStoreBytes(dpy, buff, count); + if (ptr) { + fd = open(ptr, O_RDONLY); + if (fd >= 0) + { + count = read(fd, buff, MAX_FILE_SIZE - 1); + if (count > 0) + XStoreBytes(dpy, buff, count); - close(fd); - } - else - { - fprintf (stderr, "%s: unable to open file \"%s\"\n", - ProgramName, ptr); + close(fd); + } + else + { + fprintf (stderr, "%s: unable to open file \"%s\"\n", + ProgramName, ptr); + } + free(ptr); + } else { + fprintf (stderr, "%s: error expanding filename\n", ProgramName); } - if (ptr != action) free(ptr); break; case F_REFRESH: @@ -350,7 +350,7 @@ FindBitmap (const char *name, unsigned *widthp, unsigned *heightp) pm = XmuLocateBitmapFile (ScreenOfDisplay(dpy, Scr->screen), bigname, NULL, 0, (int *)widthp, (int *)heightp, &HotX, &HotY); if (pm == None && Scr->IconDirectory && bigname[0] != '/') { - if (bigname != name) free (bigname); + free (bigname); /* * Attempt to find icon in old IconDirectory (now obsolete) */ @@ -367,7 +367,7 @@ FindBitmap (const char *name, unsigned *widthp, unsigned *heightp) pm = None; } } - if (bigname != name) free (bigname); + free (bigname); if (pm == None) { fprintf (stderr, "%s: unable to find bitmap \"%s\"\n", ProgramName, name); |