diff options
author | Kenny Meyer <knny.myer@gmail.com> | 2011-01-21 20:15:15 (GMT) |
---|---|---|
committer | Sascha Silbe <sascha-pgp@silbe.org> | 2011-02-05 15:25:17 (GMT) |
commit | eb51cca5e84818a98c3ca258918824530c194791 (patch) | |
tree | 10cf07d15b038f9de668798050df4bf20d9a0397 | |
parent | d9d25a926a88a30cdbb76d3620e66b1daaab4fd0 (diff) |
don't choke on out-of-range times on FAT32 formatted media
Files on a FAT32 formatted USB stick apparently can have times that get
represented as negative Unix timestamps large enough to overflow the (32-bit)
int. Python will automatically cast the subtraction result to long, but only
accepts int from the comparison function (list.sort()). The resulting
exception messes up the Journal.
Using cmp instead of subtraction avoids this issue.
Reported-By: Bernie Innocenti <bernie@sugarlabs.org>
[changed description]
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Reviewed-by: Sascha Silbe <silbe@activitycentral.com>
Reviewed-by: Aleksey Lim <alsroot@member.fsf.org>
-rw-r--r-- | src/jarabe/journal/model.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/jarabe/journal/model.py b/src/jarabe/journal/model.py index 9ab8c5e..320e577 100644 --- a/src/jarabe/journal/model.py +++ b/src/jarabe/journal/model.py @@ -274,7 +274,7 @@ class InplaceResultSet(BaseResultSet): else: # timestamp keygetter = itemgetter(2) - self._file_list.sort(lambda a, b: b - a, + self._file_list.sort(lambda a, b: cmp(b, a), key=keygetter, reverse=(self._sort[0] == '-')) self.ready.send(self) |