> One result I get is this: > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x8173000 (LWP 100121)] > 0x28ac4102 in PyCurses_getsyx (self=0x0) > at /usr/home/asmodai/projects/python/Modules/_cursesmodule.c:1770 > 1770 getsyx(y, x); > > Is a value of 0x0 valid for self? I'd figure it would be a memory address, > but I do not know the internals well enough for that.
That's fine. It's a module-level function; self is typically NULL for these. Another issue is that there should be an additional (ignored) parameter args in PyCurses_getsyx; you might try adding one. However, the real culprit should be getsyx(). What does this entire function expand to when run through a preprocessor, and where does it crash when you run the expanded code in the debugger? For reference, on Linux (ncurses) it expands to do { if (((newscr)->_leaveok)) (y) = (x) = -1; else ((y) = ((newscr) ? (newscr)->_cury : (-1)), (x) = ((newscr) ? (newscr)->_curx : (-1))); } while(0); which should be equivalent to if (newscr->_leaveok) y = x = -1; else { y = newscr ? newscr->_cury : -1; x = newscr ? newscr->_curx : -1; } If it's similar on FreeBSD, the only reason why this could break is that newscr is NULL. Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com