[pypy-commit] cffi default: merge heads
arigo
noreply at buildbot.pypy.org
Tue Oct 9 11:20:39 CEST 2012
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r991:ec097c369113
Date: 2012-10-09 11:20 +0200
http://bitbucket.org/cffi/cffi/changeset/ec097c369113/
Log: merge heads
diff --git a/demo/_curses.py b/demo/_curses.py
--- a/demo/_curses.py
+++ b/demo/_curses.py
@@ -22,6 +22,11 @@
int setupterm(char *term, int fildes, int *errret);
+int tigetflag(char *);
+int tigetnum(char *);
+char *tigetstr(char *);
+char *tparm (char *, ...);
+
int cbreak(void);
int nocbreak(void);
int echo(void);
@@ -205,8 +210,17 @@
initscr = Window
+_setupterm_called = False
-def setupterm(term=ffi.NULL, fd=-1):
+
+def _ensure_setupterm_called():
+ if not _setupterm_called:
+ raise error("must call (at least) setupterm() first")
+
+
+def setupterm(term=None, fd=-1):
+ if term is None:
+ term = ffi.NULL
if fd < 0:
import sys
fd = sys.stdout.fileno()
@@ -219,6 +233,33 @@
else:
s = "setupterm: unknown error %d" % err[0]
raise error(s)
+ global _setupterm_called
+ _setupterm_called = True
+
+
+def tigetflag(capname):
+ _ensure_setupterm_called()
+ return lib.tigetflag(capname)
+
+
+def tigetnum(capname):
+ _ensure_setupterm_called()
+ return lib.tigetnum(capname)
+
+
+def tigetstr(capname):
+ _ensure_setupterm_called()
+ out = lib.tigetstr(capname)
+ if out == ffi.NULL:
+ return None
+ return ffi.string(out)
+
+
+def tparm(name, *args):
+ _ensure_setupterm_called()
+ cargs = [ffi.cast("long", arg) for arg in args]
+ return ffi.string(lib.tparm(name, *cargs))
+
def color_pair(n):
return n << 8
More information about the pypy-commit
mailing list