Re: [hackers] [sbase] [PATCH] parsemode: No need to return after eprintf

2016-12-27 Thread Laslo Hunhold
On Wed, 30 Nov 2016 23:27:59 -0800
Michael Forney  wrote:

Hey Michael,

> Also, since parsemode exits on failure, don't bother checking return
> value in xinstall (this would never trigger anyway because mode_t can
> be unsigned).

very nice! I think the legacy bit us there. I applied the patch.

Cheers

Laslo

-- 
Laslo Hunhold 



[hackers] [sbase] [PATCH] parsemode: No need to return after eprintf

2016-11-30 Thread Michael Forney
Also, since parsemode exits on failure, don't bother checking return
value in xinstall (this would never trigger anyway because mode_t can be
unsigned).
---
 libutil/mode.c | 6 ++
 xinstall.c | 5 +
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/libutil/mode.c b/libutil/mode.c
index 365b9ad..187c7a3 100644
--- a/libutil/mode.c
+++ b/libutil/mode.c
@@ -1,3 +1,4 @@
+/* See LICENSE file for copyright and license details. */
 #include 
 #include 
 #include 
@@ -23,10 +24,8 @@ parsemode(const char *str, mode_t mode, mode_t mask)
 
octal = strtol(str, &end, 8);
if (*end == '\0') {
-   if (octal < 0 || octal > 0) {
+   if (octal < 0 || octal > 0)
eprintf("%s: invalid mode\n", str);
-   return -1;
-   }
mode = 0;
if (octal & 04000) mode |= S_ISUID;
if (octal & 02000) mode |= S_ISGID;
@@ -78,7 +77,6 @@ next:
break;
default:
eprintf("%s: invalid mode\n", str);
-   return -1;
}
 
perm = 0;
diff --git a/xinstall.c b/xinstall.c
index bf921fb..70d7097 100644
--- a/xinstall.c
+++ b/xinstall.c
@@ -215,11 +215,8 @@ main(int argc, char *argv[])
owner = getuid();
}
 
-   if (mflag) {
+   if (mflag)
mode = parsemode(mflag, mode, 0);
-   if (mode < 0)
-   return 1;
-   }
 
if (tflag) {
memmove(argv - 1, argv, argc);
-- 
2.10.2