diff --git a/scapy/plist.py b/scapy/plist.py index c741ecb9220d9e2d4b5d12c1d437967bdfdfef91..abb9412d653435a2dfcd65918e806759eff4698e 100644 --- a/scapy/plist.py +++ b/scapy/plist.py @@ -169,14 +169,13 @@ lfilter: truth function to apply to each packet to decide whether it will be dis """ # Get the list of packets - l = self.res - - # Apply the filter - if lfilter is not None: - l = filter(lfilter, l) - - # Apply the function f to compute the difference - l = map(f, l[:-delay],l[delay:]) + if lfilter is None: + l = [f(self.res[i], self.res[i+1]) + for i in xrange(len(self.res) - delay)] + else: + l = [f(self.res[i], self.res[i+1]) + for i in xrange(len(self.res) - delay) + if lfilter(self.res[i])] # Mimic the default gnuplot output if kargs == {}: