X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=base%2Ftcmdiflib.c;fp=base%2Ftcmdiflib.c;h=8bddc02b8a49979579381606b6750d0ea9150752;hb=a43cdb5c69224a60f9e87110093e35a0f1f0b468;hp=0000000000000000000000000000000000000000;hpb=43f84d7998000957da8c0441d7658cdf633f90a1;p=chiark-tcl.git diff --git a/base/tcmdiflib.c b/base/tcmdiflib.c new file mode 100644 index 0000000..8bddc02 --- /dev/null +++ b/base/tcmdiflib.c @@ -0,0 +1,29 @@ +/* + */ + +#include "tcmdiflib.h" + +int pat_enum(Tcl_Interp *ip, Tcl_Obj *obj, const void **val, + const void *opts, size_t sz, const char *what) { + *val= enum_lookup_cached_func(ip,obj,opts,sz,what); + if (!*val) return TCL_ERROR; + return TCL_OK; +} + +int pat_obj(Tcl_Interp *ip, Tcl_Obj *obj, Tcl_Obj **val) { + *val= obj; + return TCL_OK; +} + +Tcl_Obj *ret_int(Tcl_Interp *ip, int val) { + return Tcl_NewIntObj(val); +} + +Tcl_Obj *ret_obj(Tcl_Interp *ip, Tcl_Obj *val) { + return val; +} + +void setstringresult(Tcl_Interp *ip, const char *m) { + Tcl_ResetResult(ip); + Tcl_AppendResult(ip, m, (char*)0); +}