Sorry, refactoring!
This commit is contained in:
@@ -119,13 +119,6 @@
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
#if defined(_MSC_VER)
|
||||
#define popen(f,m) _popen(f,m)
|
||||
#define pclose(fh) _pclose(fh)
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------
|
||||
// Special character constants */
|
||||
|
||||
|
@@ -31,6 +31,9 @@
|
||||
|
||||
#if defined(_MSC_VER) /*&& (_MSC_VER >= 1400)*/
|
||||
|
||||
#define g_popen(comm, mode) _tpopen(comm, mode)
|
||||
#define g_pclose(fp) _pclose(fp)
|
||||
|
||||
#define g_sopen(fn, of, sh, pm) _tsopen(fn, of, sh, pm)
|
||||
#define g_close(fh) _close(fh)
|
||||
#define g_read(fh, buf, cnt) _read(fh, buf, cnt)
|
||||
@@ -46,6 +49,9 @@
|
||||
|
||||
#else
|
||||
|
||||
#define g_popen(comm, mode) popen(comm, mode)
|
||||
#define g_pclose(fp) pclose(fp)
|
||||
|
||||
#define g_sopen(fn, of, sh, pm) sopen(fn, of, sh, pm)
|
||||
#define g_close(fh) close(fh)
|
||||
#define g_read(fh, buf, cnt) read(fh, buf, cnt)
|
||||
@@ -86,24 +92,24 @@ gfile::gfile()
|
||||
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
gfile::gfile(int __fh)
|
||||
{
|
||||
fh = __fh;
|
||||
fp = NULL;
|
||||
status = 0;
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
gfile::gfile(FILE* __fp)
|
||||
{
|
||||
fh = -1;
|
||||
fp = __fp;
|
||||
status = 0;
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
@@ -290,6 +296,17 @@ FILE* gfile::Fopen(const char* __path, const char* __mode, int __shflag)
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
FILE* gfile::Popen(const char* __path, const char* __mode)
|
||||
{
|
||||
fp = g_popen(__path, __mode);
|
||||
status = (fp == NULL) ? errno : 0;
|
||||
if (fp) fh = g_fileno(fp);
|
||||
return fp;
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
FILE* gfile::Fdopen(const char* __mode)
|
||||
@@ -312,6 +329,18 @@ int gfile::Fclose()
|
||||
return _ret;
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
int gfile::Pclose()
|
||||
{
|
||||
int _ret = 0;
|
||||
if (fp) _ret = g_pclose(fp);
|
||||
status = _ret ? errno : 0;
|
||||
fp = NULL; fh = -1;
|
||||
return _ret;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
size_t gfile::Fread(void* __ptr, size_t __size, size_t __items)
|
||||
|
@@ -72,8 +72,8 @@ public:
|
||||
// Constructors and destructor
|
||||
|
||||
gfile(); // Bare constructor
|
||||
gfile(int __fh); // Construct from Unix file handle
|
||||
gfile(FILE* __fp); // Construct from ANSI stream pointer
|
||||
// gfile(int __fh); // Construct from Unix file handle
|
||||
// gfile(FILE* __fp); // Construct from ANSI stream pointer
|
||||
gfile(const char* __path, int __access, int __shflag=SH_DENYNO, int __mode=S_IREAD|S_IWRITE);
|
||||
gfile(const char* __path, const char* __mode, int __shflag=SH_DENYNO);
|
||||
|
||||
@@ -120,6 +120,10 @@ public:
|
||||
FILE* Fdopen (const char* __mode);
|
||||
int Fclose ();
|
||||
|
||||
FILE* Popen (const char* __path, const char* __mode);
|
||||
FILE* Popen (const std::string& __path, const char* __mode) { return Popen(__path.c_str(), __mode); }
|
||||
int Pclose ();
|
||||
|
||||
size_t Fread (void* __ptr, size_t __size, size_t __items=1);
|
||||
size_t Fwrite (const void* __ptr, size_t __size, size_t __items=1);
|
||||
|
||||
|
Reference in New Issue
Block a user