Mercurial > hg > octave-lyh
changeset 10172:96ed9db3345c
provide wrappers for mkdir and mkfifo
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 21 Jan 2010 04:02:29 -0500 |
parents | 22400682d3aa |
children | 2b1f3f156aaf |
files | liboctave/ChangeLog liboctave/file-ops.cc liboctave/file-ops.h liboctave/lo-cutils.c liboctave/lo-utils.h |
diffstat | 5 files changed, 48 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,13 @@ +2010-01-21 John W. Eaton <jwe@octave.org> + + * file-ops.h (file_ops::mkdir): Move definitions to file-ops.cc. + (file_ops::mkfifo): Move definitions to file-ops.cc. + (file_ops::mkdir_internal, file_ops::mkfifo_internal): Delete decls. + * file-ops.cc (file_ops::mkdir): Call octave_mkdir. + (file_ops::mkfifo): Call octave_mkfifo. + * lo-cutils.c (octave_mkdir, octave_mkfifo): New functions. + * lo-utils.h: Provide decls. + 2010-01-21 John W. Eaton <jwe@octave.org> * Makefile.am (LIBOCTAVE_C_SOURCES): Remove strptime.c from the list.
--- a/liboctave/file-ops.cc +++ b/liboctave/file-ops.cc @@ -95,14 +95,20 @@ // We provide a replacement for mkdir(). int -file_ops::mkdir_internal (const std::string& name, mode_t mode, - std::string& msg) +file_ops::mkdir (const std::string& nm, mode_t md) +{ + std::string msg; + return mkdir (nm, md, msg); +} + +int +file_ops::mkdir (const std::string& name, mode_t mode, std::string& msg) { msg = std::string (); int status = -1; - status = ::mkdir (name.c_str (), mode); + status = octave_mkdir (name.c_str (), mode); if (status < 0) { @@ -116,8 +122,14 @@ // I don't know how to emulate this on systems that don't provide it. int -file_ops::mkfifo_internal (const std::string& name, mode_t mode, - std::string& msg) +file_ops::mkfifo (const std::string& nm, mode_t md) +{ + std::string msg; + return mkfifo (nm, md, msg); +} + +int +file_ops::mkfifo (const std::string& name, mode_t mode, std::string& msg) { msg = std::string (); @@ -127,7 +139,7 @@ // don't have working mkfifo functions. On those systems, mkfifo will // always return -1 and set errno. - status = ::mkfifo (name.c_str (), mode); + status = octave_mkfifo (name.c_str (), mode); if (status < 0) {
--- a/liboctave/file-ops.h +++ b/liboctave/file-ops.h @@ -37,27 +37,11 @@ { public: - static int mkdir (const std::string& nm, mode_t md) - { - std::string msg; - return mkdir_internal (nm, md, msg); - } - - static int mkdir (const std::string& nm, mode_t md, std::string& msg) - { - return mkdir_internal (nm, md, msg); - } + static int mkdir (const std::string& nm, mode_t md); + static int mkdir (const std::string& nm, mode_t md, std::string& msg); - static int mkfifo (const std::string& nm, mode_t md) - { - std::string msg; - return mkfifo_internal (nm, md, msg); - } - - static int mkfifo (const std::string& nm, mode_t md, std::string& msg) - { - return mkfifo_internal (nm, md, msg); - } + static int mkfifo (const std::string& nm, mode_t md); + static int mkfifo (const std::string& nm, mode_t md, std::string& msg); static int link (const std::string&, const std::string&); static int link (const std::string&, const std::string&, std::string&);
--- a/liboctave/lo-cutils.c +++ b/liboctave/lo-cutils.c @@ -52,6 +52,18 @@ #include "syswait.h" +OCTAVE_API int +octave_mkdir (const char *name, mode_t mode) +{ + return mkdir (name, mode); +} + +OCTAVE_API int +octave_mkfifo (const char *name, mode_t mode) +{ + return mkfifo (name, mode); +} + OCTAVE_API void octave_qsort (void *base, size_t n, size_t size, int (*cmp) (const void *, const void *))
--- a/liboctave/lo-utils.h +++ b/liboctave/lo-utils.h @@ -51,6 +51,10 @@ extern "C" OCTAVE_API int octave_gethostname (char *, int); +extern "C" OCTAVE_API int octave_mkdir (const char *name, mode_t mode); + +extern "C" OCTAVE_API int octave_mkfifo (const char *name, mode_t mode); + extern "C" OCTAVE_API void octave_qsort (void *base, size_t n, size_t size, int (*cmp) (const void *, const void *));