26 Sep
2000
26 Sep
'00
9:37 p.m.
"MW" == Mats Wichmann <mats@laplaza.org> writes:
>> What platform are you running on? For me on Linux RedHat 6.1,
>> when I try to see past the end of a non-existant or zero length
>> file, I get an EINVAL (errcode 22), which
>> Mailbox.AppendMessage() should catch and ignore. If your error
>> numbers are the same as mine, you're getting an EOVERFLOW, but
>> why? What does "Value too large for defined data type" mean?
MW> Standard says... (in re: lseek): EOVERFLOW: The resulting file
MW> offset would be a value which cannot be represented correctly
MW> in an object of type off_t. The error message seems a
MW> reasonable representation of that (off_t is required to be a
MW> signed integral type).
Agreed.
MW> Like Chuq says, this species (UNIX and relatives) is
MW> unfortunately prone to not quite agreeing with each other in
MW> boundary conditions, standards or no...
Or even the same distro on different platforms agreeing with each other (we're both essentially on RH Linux, but different h/w).
MW> and by the way, you can't count on the error /numbers/ being
MW> the same across systems, that's not part of UNIX standards.
Right, but Python's errno module exports the symbolic names too, so we always use those. It's the /output/ that likes to use the numeric values, and you can never be sure which symbolic error those map to!
Thanks, it looks like the patch I posted should do the trick. -Barry