Sorry, refactoring!

This commit is contained in:
Ianos Gnatiuc
2006-04-26 17:06:23 +00:00
parent 6cac338f3e
commit f2ece5007e
27 changed files with 500 additions and 492 deletions

View File

@@ -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 */

View File

@@ -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)

View File

@@ -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);