GNU bug report logs -
#28092
26.0.50; archive-int-to-mode check S_ISUID, S_ISGID bits in reverse order
Previous Next
Reported by: Tino Calancha <tino.calancha <at> gmail.com>
Date: Tue, 15 Aug 2017 02:32:01 UTC
Severity: normal
Tags: patch
Found in version 26.0.50
Done: Tino Calancha <tino.calancha <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 15 Aug 2017 15:47:40 +0900
with message-id <87h8x92upf.fsf <at> calancha-pc>
and subject line Re: bug#28092: 26.0.50; archive-int-to-mode check S_ISUID, S_ISGID bits in reverse order
has caused the debbugs.gnu.org bug report #28092,
regarding 26.0.50; archive-int-to-mode check S_ISUID, S_ISGID bits in reverse order
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
28092: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=28092
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Tags: patch
emacs -Q -l arc-mode
(archive-int-to-mode 2048)
=> "------S---" ; It should be: "---S------"
(archive-int-to-mode 1024)
=> "---S------" ; It should be: "------S---"
--8<-----------------------------cut here---------------start------------->8---
commit 03b830d7ad819118c8b9d4e30cf6da638a579c88
Author: Tino Calancha <tino.calancha <at> gmail.com>
Date: Tue Aug 15 11:15:10 2017 +0900
archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
* lisp/arc-mode.el (archive-int-to-mode):
Swap order of 2048 with 1024 tests (Bug#28092).
* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
Update test.
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index bd7548b704..938c143b8e 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -559,13 +559,13 @@ archive-int-to-mode
(if (zerop (logand 256 mode)) ?- ?r)
(if (zerop (logand 128 mode)) ?- ?w)
(if (zerop (logand 64 mode))
- (if (zerop (logand 1024 mode)) ?- ?S)
- (if (zerop (logand 1024 mode)) ?x ?s))
+ (if (zerop (logand 2048 mode)) ?- ?S)
+ (if (zerop (logand 2048 mode)) ?x ?s))
(if (zerop (logand 32 mode)) ?- ?r)
(if (zerop (logand 16 mode)) ?- ?w)
(if (zerop (logand 8 mode))
- (if (zerop (logand 2048 mode)) ?- ?S)
- (if (zerop (logand 2048 mode)) ?x ?s))
+ (if (zerop (logand 1024 mode)) ?- ?S)
+ (if (zerop (logand 1024 mode)) ?x ?s))
(if (zerop (logand 4 mode)) ?- ?r)
(if (zerop (logand 2 mode)) ?- ?w)
(if (zerop (logand 1 mode)) ?- ?x)))
diff --git a/test/lisp/arc-mode-tests.el b/test/lisp/arc-mode-tests.el
index 04047bab62..c2501e921a 100644
--- a/test/lisp/arc-mode-tests.el
+++ b/test/lisp/arc-mode-tests.el
@@ -27,7 +27,7 @@
(cons 420 "-rw-r--r--")
(cons 292 "-r--r--r--")
(cons 512 "----------")
- (cons 1024 "---S------"))))
+ (cons 1024 "------S---"))))
(dolist (x alist)
(should (equal (cdr x) (archive-int-to-mode (car x)))))))
--8<-----------------------------cut here---------------end--------------->8---
In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
of 2017-08-15
Repository revision: e88bbd22c5ffb1d6008c0c7e18a36043b0f397dd
[Message part 3 (message/rfc822, inline)]
Tino Calancha <tino.calancha <at> gmail.com> writes:
> Tags: patch
>
> emacs -Q -l arc-mode
>
> (archive-int-to-mode 2048)
> => "------S---" ; It should be: "---S------"
> (archive-int-to-mode 1024)
> => "---S------" ; It should be: "------S---"
Fixed in master branch as commit
66b75d3f2002459edccd241af57c63b380b192d3
(archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits)
This bug report was last modified 7 years and 282 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.