static void vport_print(ScmObj obj, ScmPort *port, ScmWriteContext *ctx) { Scm_Printf(port, "#<%A%s %A %p>", Scm__InternalClassName(Scm_ClassOf(obj)), SCM_PORT_CLOSED_P(obj)? "(closed)" : "", Scm_PortName(SCM_PORT(obj)), obj); }
static ScmObj conv_name(int dir, ScmPort *remote, const char *from, const char *to) { ScmObj out = Scm_MakeOutputStringPort(TRUE); Scm_Printf(SCM_PORT(out), "[conv(%s->%s) %s %S]", from, to, (dir == SCM_PORT_INPUT? "from" : "to"), Scm_PortName(remote)); return Scm_GetOutputStringUnsafe(SCM_PORT(out), 0); }