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 bug report
#28092: 26.0.50; archive-int-to-mode check S_ISUID, S_ISGID bits in reverse order
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 28092 <at> debbugs.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)]
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)
[Message part 3 (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
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.