Hi Trupti,
On Wed, 2026-09-16 at 13:01 +0530, Trupti wrote:
> Suggested Fix:
>
> Use "L" (long long, 64-bit) with explicit cast:
>
> --- a/pandas/_libs/src/parser/tokenizer.c
> +++ b/pandas/_libs/src/parser/tokenizer.c
> @@ -647,7 +647,7 @@ static int skip_this_line(parser_t *self, int64_t
> rownum) {
> if (self->skipfunc != NULL) {
> PyGILState_STATE state = PyGILState_Ensure();
> - PyObject *result = PyObject_CallFunction(self->skipfunc, "i",
> rownum);
> + PyObject *result = PyObject_CallFunction(self->skipfunc, "L", (long
> long)rownum);
>
>
> Verification:
>
>
> After applying this patch pandas built successfully on debian powerpc
> with sbuild on ppc64 machine.
> powerpc: 8 failures -> 0 failures with patch
>
>
> Adrian, is this the correct approach? Do you have any suggestions before
> I move forward?
What about explicitly declaring "rownum" as long long in order to avoid
the cast?
int64_t rownum;
PyObject *result = PyObject_CallFunction(self->skipfunc, "L", rownum);
Either way, I suggest you send the pull request upstream and see what
they prefer.
Thanks a lot for fixing this!
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
--
debian-science-maintainers mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers