Index: openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl,v diff -u -r1.1.2.52 -r1.1.2.53 --- openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl 28 Aug 2024 06:32:16 -0000 1.1.2.52 +++ openacs-4/packages/acs-tcl/tcl/00-icanuse-procs.tcl 29 Aug 2024 08:37:44 -0000 1.1.2.53 @@ -117,6 +117,7 @@ ::acs::register_icanuse "ns_ictl trace idle" [acs::cmd_error_contains {ns_ictl trace foo} idle] ::acs::register_icanuse "ns_info meminfo" [acs::cmd_has_subcommand ns_info meminfo] ::acs::register_icanuse "ns_ip" {[info commands ::ns_ip] ne ""} +::acs::register_icanuse "ns_mkdtemp" {[info commands ::ns_mkdtemp] ne ""} ::acs::register_icanuse "ns_parsehtml" {[info commands ::ns_parsehtml] ne ""} ::acs::register_icanuse "ns_parsequery -charset" [acs::cmd_error_contains {ns_parsequery} -charset] ::acs::register_icanuse "ns_parseurl -strict" [acs::cmd_error_contains ns_parseurl -strict] Index: openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl,v diff -u -r1.189.2.198 -r1.189.2.199 --- openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl 27 Aug 2024 13:01:06 -0000 1.189.2.198 +++ openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl 29 Aug 2024 08:37:44 -0000 1.189.2.199 @@ -3742,13 +3742,12 @@ # # Tcl 8.7 or newer # - ad_proc ad_mktmpdir {{prefix "oacs"}} { + ad_proc ad_mktmpdir {{prefix "oacsd"}} { Wrapper for Tcl's "file tempdir ...", but respects the server's tmpdir settings. - @param prefix optional parameter, for easier - identification of the directory + @param prefix optional parameter, for easier identification of the directory @return name of the created directory } { ::file tempdir [ns_config ns/parameters tmpdir]/$prefix @@ -3757,18 +3756,33 @@ # # Tcl 8.6 or earlier # - ad_proc ad_mktmpdir {{prefix "oacs"}} { + if {[::acs::icanuse "ns_mkdtemp"]} { + ad_proc ad_mktmpdir {{prefix "oacsd"}} { - Wrapper for Tcl's "file tempdir ...", but respects the server's - tmpdir settings. + Create a temporary directory. The function respects the server's + tmpdir settings. - @param prefix optional parameter, for easier - identification of the directory - @return name of the created directory + @param prefix optional parameter, for easier identification of the directory + @return name of the created directory - } { - package require fileutil - ::fileutil::maketempdir -prefix ${prefix}_ -dir [ns_config ns/parameters tmpdir] + } { + ns_mkdtemp [ns_config ns/parameters tmpdir]/$prefix-XXXXXX + } + } else { + # + # no ns_mkdtemp, use package "fileutil" from tcllib + # + ad_proc ad_mktmpdir {{prefix "oacsd"}} { + + Create a temporary directory. The function respects the server's + tmpdir settings. + + @param prefix optional parameter, for easier identification of the directory + @return name of the created directory + } { + package require fileutil + ::fileutil::maketempdir -prefix ${prefix}_ -dir [ns_config ns/parameters tmpdir] + } } }