Author: Ronan Lamy <ronan.l...@gmail.com> Branch: Changeset: r81362:d1769628ff5d Date: 2015-12-16 16:21 +0000 http://bitbucket.org/pypy/pypy/changeset/d1769628ff5d/
Log: Add explicit casts to untranslated make_stat_result() and make_statvfs_result() diff --git a/rpython/rlib/rposix_stat.py b/rpython/rlib/rposix_stat.py --- a/rpython/rlib/rposix_stat.py +++ b/rpython/rlib/rposix_stat.py @@ -169,10 +169,12 @@ def make_stat_result(tup): """Turn a tuple into an os.stat_result object.""" - positional = tup[:N_INDEXABLE_FIELDS] + positional = tuple( + lltype.cast_primitive(TYPE, value) for value, (name, TYPE) in + zip(tup, STAT_FIELDS)[:N_INDEXABLE_FIELDS]) kwds = {} - for i, name in enumerate(STAT_FIELD_NAMES[N_INDEXABLE_FIELDS:]): - kwds[name] = tup[N_INDEXABLE_FIELDS + i] + for value, (name, TYPE) in zip(tup, STAT_FIELDS)[N_INDEXABLE_FIELDS:]: + kwds[name] = lltype.cast_primitive(TYPE, value) return os.stat_result(positional, kwds) @@ -221,8 +223,6 @@ class StatvfsResultRepr(Repr): def __init__(self, rtyper): self.rtyper = rtyper - self.statvfs_fields = STATVFS_FIELDS - self.statvfs_field_indexes = {} for i, (name, TYPE) in enumerate(STATVFS_FIELDS): self.statvfs_field_indexes[name] = i @@ -261,10 +261,11 @@ return r_sta.redispatch_getfield(hop, index) - def make_statvfs_result(tup): - return os.statvfs_result(tup) - + args = tuple( + lltype.cast_primitive(TYPE, value) for value, (name, TYPE) in + zip(tup, STATVFS_FIELDS)) + return os.statvfs_result(args) class MakeStatvfsResultEntry(extregistry.ExtRegistryEntry): _about_ = make_statvfs_result _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit