From 75d1ff49e49e0fcb53a956747266153f7e9978e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Stadler?= Date: Wed, 21 Nov 2007 11:40:13 +0200 Subject: [PATCH] Use an array for line offset mapping (if file < 4GB) --- debug-viewer/GstDebugViewer/Data.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/debug-viewer/GstDebugViewer/Data.py b/debug-viewer/GstDebugViewer/Data.py index fa12f564d2..cb27e24b54 100644 --- a/debug-viewer/GstDebugViewer/Data.py +++ b/debug-viewer/GstDebugViewer/Data.py @@ -169,9 +169,6 @@ class LineCache (Producer): Producer.__init__ (self) self.logger = logging.getLogger ("linecache") - - self.offsets = [] - self.levels = [] # FIXME self.dispatcher = dispatcher import mmap @@ -181,6 +178,18 @@ class LineCache (Producer): self.__file_size = self.__fileobj.tell () self.__fileobj.seek (0) + from array import array + offsets = array ("L") + try: + offsets.append (self.__file_size) + except OverflowError: + offsets = [] + else: + del offsets[0] + self.offsets = offsets + + self.levels = [] # FIXME + def start_loading (self): self.logger.debug ("dispatching load process")