@@ -306,7 +306,6 @@ def seek(self, pos, whence=0):
306306 * 0 -- start of stream (the default); offset should be zero or positive
307307 * 1 -- current stream position; offset may be negative
308308 * 2 -- end of stream; offset is usually negative
309- Some operating systems / file systems could provide additional values.
310309
311310 Return an int indicating the new absolute position.
312311 """
@@ -867,7 +866,7 @@ def seek(self, pos, whence=0):
867866 elif whence == 2 :
868867 self ._pos = max (0 , len (self ._buffer ) + pos )
869868 else :
870- raise ValueError ("unsupported whence value" )
869+ raise ValueError ("invalid whence value" )
871870 return self ._pos
872871
873872 def tell (self ):
@@ -1042,6 +1041,8 @@ def tell(self):
10421041 return _BufferedIOMixin .tell (self ) - len (self ._read_buf ) + self ._read_pos
10431042
10441043 def seek (self , pos , whence = 0 ):
1044+ if not (0 <= whence <= 2 ):
1045+ raise ValueError ("invalid whence value" )
10451046 with self ._read_lock :
10461047 if whence == 1 :
10471048 pos -= len (self ._read_buf ) - self ._read_pos
@@ -1137,6 +1138,8 @@ def tell(self):
11371138 return _BufferedIOMixin .tell (self ) + len (self ._write_buf )
11381139
11391140 def seek (self , pos , whence = 0 ):
1141+ if not (0 <= whence <= 2 ):
1142+ raise ValueError ("invalid whence" )
11401143 with self ._write_lock :
11411144 self ._flush_unlocked ()
11421145 return _BufferedIOMixin .seek (self , pos , whence )
@@ -1232,6 +1235,8 @@ def __init__(self, raw,
12321235 BufferedWriter .__init__ (self , raw , buffer_size , max_buffer_size )
12331236
12341237 def seek (self , pos , whence = 0 ):
1238+ if not (0 <= whence <= 2 ):
1239+ raise ValueError ("invalid whence" )
12351240 self .flush ()
12361241 if self ._read_buf :
12371242 # Undo read ahead.
@@ -1847,7 +1852,8 @@ def seek(self, cookie, whence=0):
18471852 self ._decoder .reset ()
18481853 return position
18491854 if whence != 0 :
1850- raise ValueError ("unsupported whence (%r)" % (whence ,))
1855+ raise ValueError ("invalid whence (%r, should be 0, 1 or 2)" %
1856+ (whence ,))
18511857 if cookie < 0 :
18521858 raise ValueError ("negative seek position %r" % (cookie ,))
18531859 self .flush ()
0 commit comments