From: SourceForge.net <no...@so...> - 2004-04-30 20:19:04
|
Bugs item #945570, was opened at 2004-04-30 16:19 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=945570&group_id=10894 Category: 36. File System Group: development: 8.5a2 Status: Open Resolution: None Priority: 5 Submitted By: Don Porter (dgp) Assigned to: Vince Darley (vincentdarley) Summary: public routines need private #define's Initial Comment: For C functions that are part of Tcl's documented public interface, a #include <tcl.h> should be all that's needed to make use of them. However, several of the filesystem routines require additional #include's. Tcl_FSAccess() needs the values F_OK, R_OK, etc. for passing in as the "mode" argument. tcl.h does not define them; callers are required to either #include <tclPort.h> or figure out for themselves what system header (if any) will fill the gap. Tcl_FSSeek() needs the values SEEK_SET, etc. tcl.h does not define them (see Tcl Bug 926486); callers are required to #include <stdio.h> or figure out configure for the platform. Tcl_FSStat() takes a (Tcl_StatBuf *) argument, and then the caller needs declarations about the struct and its fields to do anything with the result. This may include the time_t and mode_t types, and various values and macros like S_IFREG and S_ISREG(). This all requires extra configuration to be sure suitable header files (such as sys/stat.h and/or sys/types.h) are included. The Tcl_FSOpenFileChannelProc() of a Tcl_FIlesystem is passed a "mode" argument that requires values like O_RDONLY, O_EXCL, etc for decoding. tcl.h does not #define these values; callers are required to either #include <fcntl.h> or figure out for themselves what system header to use. It appears that a better solution for all these interfaces would be for tcl.h itself to #define the values needed by its public interfaces. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=945570&group_id=10894 |
From: SourceForge.net <no...@so...> - 2004-05-11 14:13:43
|
Bugs item #945570, was opened at 2004-04-30 20:19 Message generated for change (Comment added) made by vincentdarley You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=945570&group_id=10894 Category: 36. File System Group: development: 8.5a2 Status: Open Resolution: None Priority: 5 Submitted By: Don Porter (dgp) >Assigned to: Don Porter (dgp) Summary: public routines need private #define's Initial Comment: For C functions that are part of Tcl's documented public interface, a #include <tcl.h> should be all that's needed to make use of them. However, several of the filesystem routines require additional #include's. Tcl_FSAccess() needs the values F_OK, R_OK, etc. for passing in as the "mode" argument. tcl.h does not define them; callers are required to either #include <tclPort.h> or figure out for themselves what system header (if any) will fill the gap. Tcl_FSSeek() needs the values SEEK_SET, etc. tcl.h does not define them (see Tcl Bug 926486); callers are required to #include <stdio.h> or figure out configure for the platform. Tcl_FSStat() takes a (Tcl_StatBuf *) argument, and then the caller needs declarations about the struct and its fields to do anything with the result. This may include the time_t and mode_t types, and various values and macros like S_IFREG and S_ISREG(). This all requires extra configuration to be sure suitable header files (such as sys/stat.h and/or sys/types.h) are included. The Tcl_FSOpenFileChannelProc() of a Tcl_FIlesystem is passed a "mode" argument that requires values like O_RDONLY, O_EXCL, etc for decoding. tcl.h does not #define these values; callers are required to either #include <fcntl.h> or figure out for themselves what system header to use. It appears that a better solution for all these interfaces would be for tcl.h itself to #define the values needed by its public interfaces. ---------------------------------------------------------------------- >Comment By: Vince Darley (vincentdarley) Date: 2004-05-11 14:13 Message: Logged In: YES user_id=32170 This sounds like a good idea, although I have no idea how hard it would be to accomplish this in practice. Do you have a patch in mind? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=945570&group_id=10894 |
From: SourceForge.net <no...@so...> - 2004-06-04 20:18:56
|
Bugs item #945570, was opened at 2004-04-30 16:19 Message generated for change (Comment added) made by dgp You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=945570&group_id=10894 Category: 36. File System Group: development: 8.5a2 Status: Open Resolution: None Priority: 5 Submitted By: Don Porter (dgp) Assigned to: Don Porter (dgp) Summary: public routines need private #define's Initial Comment: For C functions that are part of Tcl's documented public interface, a #include <tcl.h> should be all that's needed to make use of them. However, several of the filesystem routines require additional #include's. Tcl_FSAccess() needs the values F_OK, R_OK, etc. for passing in as the "mode" argument. tcl.h does not define them; callers are required to either #include <tclPort.h> or figure out for themselves what system header (if any) will fill the gap. Tcl_FSSeek() needs the values SEEK_SET, etc. tcl.h does not define them (see Tcl Bug 926486); callers are required to #include <stdio.h> or figure out configure for the platform. Tcl_FSStat() takes a (Tcl_StatBuf *) argument, and then the caller needs declarations about the struct and its fields to do anything with the result. This may include the time_t and mode_t types, and various values and macros like S_IFREG and S_ISREG(). This all requires extra configuration to be sure suitable header files (such as sys/stat.h and/or sys/types.h) are included. The Tcl_FSOpenFileChannelProc() of a Tcl_FIlesystem is passed a "mode" argument that requires values like O_RDONLY, O_EXCL, etc for decoding. tcl.h does not #define these values; callers are required to either #include <fcntl.h> or figure out for themselves what system header to use. It appears that a better solution for all these interfaces would be for tcl.h itself to #define the values needed by its public interfaces. ---------------------------------------------------------------------- >Comment By: Don Porter (dgp) Date: 2004-06-04 16:18 Message: Logged In: YES user_id=80530 Note that stdio.h has been restored to tcl.h (926486 rejected) so Tcl_FSSeek() is ok again. The other routines listed here still fail to define symbols they need. ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2004-05-11 10:13 Message: Logged In: YES user_id=32170 This sounds like a good idea, although I have no idea how hard it would be to accomplish this in practice. Do you have a patch in mind? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=945570&group_id=10894 |