chiark
/
gitweb
/
~mdw
/
tripe-android
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
keys.scala, etc.: Make merging public keys have a progress bar.
[tripe-android]
/
tar.scala
diff --git
a/tar.scala
b/tar.scala
index 30a3a4adb10ca2b978188a3fd98214428b80af24..986eeaa03778956037c591054dc9fe58bb64d657 100644
(file)
--- a/
tar.scala
+++ b/
tar.scala
@@
-35,6
+35,8
@@
import java.util.Date;
import sys.FileInfo;
import sys.FileInfo.{Value, FIFO, CHR, DIR, BLK, REG, LNK, HDLNK, UNK};
import sys.FileInfo;
import sys.FileInfo.{Value, FIFO, CHR, DIR, BLK, REG, LNK, HDLNK, UNK};
+import Implicits.truish;
+
/*----- Main code ---------------------------------------------------------*/
class TarFormatError(msg: String) extends Exception(msg);
/*----- Main code ---------------------------------------------------------*/
class TarFormatError(msg: String) extends Exception(msg);
@@
-98,12
+100,10
@@
trait TarEntry {
/* Then the permissions bits. Ugh, the permissions bits. */
def perm(s: Int, r: Int, w: Int, x: Int, schar: Char, Schar: Char) {
/* Then the permissions bits. Ugh, the permissions bits. */
def perm(s: Int, r: Int, w: Int, x: Int, schar: Char, Schar: Char) {
- sb += (if ((mode&r) != 0) 'r' else '-');
- sb += (if ((mode&w) != 0) 'w' else '-');
- sb += (if ((mode&s) != 0)
- if ((mode&x) != 0) schar else Schar;
- else
- if ((mode&x) != 0) 'x' else '-');
+ sb += (if (mode&r) 'r' else '-');
+ sb += (if (mode&w) 'w' else '-');
+ sb += (if (mode&s) { if (mode&x) schar else Schar; }
+ else { if (mode&x) 'x' else '-' });
}
perm(0x800, 0x100, 0x080, 0x040, 's', 'S');
perm(0x400, 0x020, 0x010, 0x008, 's', 'S');
}
perm(0x800, 0x100, 0x080, 0x040, 's', 'S');
perm(0x400, 0x020, 0x010, 0x008, 's', 'S');
@@
-337,7
+337,7
@@
class TarFile(in: InputStream)
val b = hdr(i);
/* See if we're done now. */
val b = hdr(i);
/* See if we're done now. */
- if (
b == ' ' || b == 0
) return n;
+ if (
!b || b == ' '
) return n;
else if (b < '0' || b > '7')
throw new TarFormatError(s"bad octal digit (at ${offset + off + i})");
else if (b < '0' || b > '7')
throw new TarFormatError(s"bad octal digit (at ${offset + off + i})");
@@
-407,7
+407,7
@@
class TarFile(in: InputStream)
*/
val name = {
val tail = string(0, 100);
*/
val name = {
val tail = string(0, 100);
- if (!posixp ||
hdr(345) == 0
) tail
+ if (!posixp ||
!hdr(345)
) tail
else {
val prefix = string(345, 155);
prefix + '/' + tail
else {
val prefix = string(345, 155);
prefix + '/' + tail