1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-28 05:29:48 +00:00
freebsd-ports/www/mod_dtcl/files/patch-cast
2007-03-26 06:04:56 +00:00

53 lines
1.9 KiB
Plaintext

--- tcl_commands.c Wed Jun 26 09:12:43 2002
+++ tcl_commands.c Mon Mar 26 02:01:19 2007
@@ -359,3 +359,3 @@
char *t;
- char *authorization = NULL;
+ const char *authorization;
@@ -397,4 +397,4 @@
/* Get the user/pass info for Basic authentication */
- (const char*)authorization = ap_table_get(globals->r->headers_in, "Authorization");
- if (authorization && !strcasecmp(ap_getword_nc(POOL, &authorization, ' '), "Basic"))
+ authorization = ap_table_get(globals->r->headers_in, "Authorization");
+ if (authorization && !strcasecmp(ap_getword(POOL, &authorization, ' '), "Basic"))
{
@@ -739,15 +739,19 @@
{
+ union {
+ ClientData handle;
+ int fd;
+ } handle;
+ FILE *f;
Tcl_Channel chan;
char *method = Tcl_GetString(objv[3]);
+ f = ApacheUpload_FILE(upload);
+ handle.fd = f ? fileno(f) : -1;
if (!strcmp(method, "channel"))
{
- if (ApacheUpload_FILE(upload) != NULL)
+ if (handle.fd != -1)
{
/* create and return a file channel */
- char *channelname = NULL;
- chan = Tcl_MakeFileChannel((ClientData)fileno(
- ApacheUpload_FILE(upload)), TCL_READABLE);
+ chan = Tcl_MakeFileChannel(handle.handle, TCL_READABLE);
Tcl_RegisterChannel(interp, chan);
- channelname = Tcl_GetChannelName(chan);
- Tcl_SetStringObj(result, channelname, -1);
+ Tcl_SetStringObj(result, Tcl_GetChannelName(chan), -1);
}
@@ -772,4 +776,3 @@
- chan = Tcl_MakeFileChannel((ClientData)fileno(
- ApacheUpload_FILE(upload)), TCL_READABLE);
+ chan = Tcl_MakeFileChannel(handle.handle, TCL_READABLE);
Tcl_SetChannelOption(interp, chan, "-translation", "binary");
@@ -799,4 +802,3 @@
bytes = Tcl_Alloc(ApacheUpload_size(upload));
- chan = Tcl_MakeFileChannel((ClientData)fileno(
- ApacheUpload_FILE(upload)), TCL_READABLE);
+ chan = Tcl_MakeFileChannel(handle.handle, TCL_READABLE);
Tcl_SetChannelOption(interp, chan, "-translation", "binary");