diff --git a/scapy/plist.py b/scapy/plist.py index cf74e8bf9f835ef2fabb28bae8b48083c2316c9a..3dc64866dc686ff972b2db68d6f5799b0ceab46b 100644 --- a/scapy/plist.py +++ b/scapy/plist.py @@ -170,14 +170,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 == {}: