summaryrefslogtreecommitdiffstats
path: root/contrib/tcl/generic/tclIOCmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tcl/generic/tclIOCmd.c')
-rw-r--r--contrib/tcl/generic/tclIOCmd.c78
1 files changed, 44 insertions, 34 deletions
diff --git a/contrib/tcl/generic/tclIOCmd.c b/contrib/tcl/generic/tclIOCmd.c
index ae09c8f..5640b47 100644
--- a/contrib/tcl/generic/tclIOCmd.c
+++ b/contrib/tcl/generic/tclIOCmd.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * SCCS: @(#) tclIOCmd.c 1.117 97/06/23 18:57:17
+ * SCCS: @(#) tclIOCmd.c 1.119 97/07/25 20:49:23
*/
#include "tclInt.h"
@@ -579,7 +579,7 @@ Tcl_TellCmd(clientData, interp, argc, argv)
/*
*----------------------------------------------------------------------
*
- * Tcl_CloseCmd --
+ * Tcl_CloseObjCmd --
*
* This procedure is invoked to process the Tcl "close" command.
* See the user documentation for details on what it does.
@@ -595,26 +595,28 @@ Tcl_TellCmd(clientData, interp, argc, argv)
/* ARGSUSED */
int
-Tcl_CloseCmd(clientData, interp, argc, argv)
- ClientData clientData; /* Not used. */
- Tcl_Interp *interp; /* Current interpreter. */
- int argc; /* Number of arguments. */
- char **argv; /* Argument strings. */
+Tcl_CloseObjCmd(clientData, interp, objc, objv)
+ ClientData clientData; /* Not used. */
+ Tcl_Interp *interp; /* Current interpreter. */
+ int objc; /* Number of arguments. */
+ Tcl_Obj *CONST objv[]; /* Argument objects. */
{
Tcl_Channel chan; /* The channel to close. */
int len; /* Length of error output. */
+ char *arg;
- if (argc != 2) {
- Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
- " channelId\"", (char *) NULL);
+ if (objc != 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "channelId");
return TCL_ERROR;
}
- chan = Tcl_GetChannel(interp, argv[1], NULL);
+
+ arg = Tcl_GetStringFromObj(objv[1], NULL);
+ chan = Tcl_GetChannel(interp, arg, NULL);
if (chan == (Tcl_Channel) NULL) {
return TCL_ERROR;
}
- if (Tcl_UnregisterChannel(interp, chan) != TCL_OK) {
+ if (Tcl_UnregisterChannel(interp, chan) != TCL_OK) {
/*
* If there is an error message and it ends with a newline, remove
* the newline. This is done for command pipeline channels where the
@@ -633,6 +635,7 @@ Tcl_CloseCmd(clientData, interp, argc, argv)
return TCL_ERROR;
}
+
return TCL_OK;
}
@@ -705,7 +708,7 @@ Tcl_FconfigureCmd(clientData, interp, argc, argv)
/*
*----------------------------------------------------------------------
*
- * Tcl_EofCmd --
+ * Tcl_EofObjCmd --
*
* This procedure is invoked to process the Tcl "eof" command.
* See the user documentation for details on what it does.
@@ -722,22 +725,24 @@ Tcl_FconfigureCmd(clientData, interp, argc, argv)
/* ARGSUSED */
int
-Tcl_EofCmd(unused, interp, argc, argv)
- ClientData unused; /* Not used. */
- Tcl_Interp *interp; /* Current interpreter. */
- int argc; /* Number of arguments. */
- char **argv; /* Argument strings. */
+Tcl_EofObjCmd(unused, interp, objc, objv)
+ ClientData unused; /* Not used. */
+ Tcl_Interp *interp; /* Current interpreter. */
+ int objc; /* Number of arguments. */
+ Tcl_Obj *CONST objv[]; /* Argument objects. */
{
Tcl_Channel chan; /* The channel to query for EOF. */
int mode; /* Mode in which channel is opened. */
char buf[40];
+ char *arg;
- if (argc != 2) {
- Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
- " channelId\"", (char *) NULL);
+ if (objc != 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "channelId");
return TCL_ERROR;
}
- chan = Tcl_GetChannel(interp, argv[1], &mode);
+
+ arg = Tcl_GetStringFromObj(objv[1], NULL);
+ chan = Tcl_GetChannel(interp, arg, &mode);
if (chan == (Tcl_Channel) NULL) {
return TCL_ERROR;
}
@@ -891,7 +896,7 @@ Tcl_ExecCmd(dummy, interp, argc, argv)
/*
*----------------------------------------------------------------------
*
- * Tcl_FblockedCmd --
+ * Tcl_FblockedObjCmd --
*
* This procedure is invoked to process the Tcl "fblocked" command.
* See the user documentation for details on what it does.
@@ -908,27 +913,30 @@ Tcl_ExecCmd(dummy, interp, argc, argv)
/* ARGSUSED */
int
-Tcl_FblockedCmd(unused, interp, argc, argv)
- ClientData unused; /* Not used. */
- Tcl_Interp *interp; /* Current interpreter. */
- int argc; /* Number of arguments. */
- char **argv; /* Argument strings. */
+Tcl_FblockedObjCmd(unused, interp, objc, objv)
+ ClientData unused; /* Not used. */
+ Tcl_Interp *interp; /* Current interpreter. */
+ int objc; /* Number of arguments. */
+ Tcl_Obj *CONST objv[]; /* Argument objects. */
{
Tcl_Channel chan; /* The channel to query for blocked. */
int mode; /* Mode in which channel was opened. */
char buf[40];
+ char *arg;
- if (argc != 2) {
- Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
- " channelId\"", (char *) NULL);
+ if (objc != 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "channelId");
return TCL_ERROR;
}
- chan = Tcl_GetChannel(interp, argv[1], &mode);
+
+ arg = Tcl_GetStringFromObj(objv[1], NULL);
+ chan = Tcl_GetChannel(interp, arg, &mode);
if (chan == (Tcl_Channel) NULL) {
return TCL_ERROR;
}
if ((mode & TCL_READABLE) == 0) {
- Tcl_AppendResult(interp, "channel \"", argv[1],
+ Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "channel \"",
+ Tcl_GetStringFromObj(objv[1], NULL),
"\" wasn't opened for reading", (char *) NULL);
return TCL_ERROR;
}
@@ -1491,7 +1499,8 @@ Tcl_FcopyObjCmd(dummy, interp, objc, objv)
enum { FcopySize, FcopyCommand } index;
if ((objc < 3) || (objc > 7) || (objc == 4) || (objc == 6)) {
- Tcl_WrongNumArgs(interp, 1, objv, "input output ?-size size? ?-command callback?");
+ Tcl_WrongNumArgs(interp, 1, objv,
+ "input output ?-size size? ?-command callback?");
return TCL_ERROR;
}
@@ -1541,5 +1550,6 @@ Tcl_FcopyObjCmd(dummy, interp, objc, objv)
break;
}
}
+
return TclCopyChannel(interp, inChan, outChan, toRead, cmdPtr);
}
OpenPOWER on IntegriCloud