diff --git a/ftk/src/ftk.h b/ftk/src/ftk.h index 5458972..b7056c2 100644 --- a/ftk/src/ftk.h +++ b/ftk/src/ftk.h @@ -1457,6 +1457,9 @@ RCODE FLMAPI f_chdir( const char * pszDir); + RCODE FLMAPI f_getcwd( + char * pszDir); + /**************************************************************************** Desc: ****************************************************************************/ diff --git a/ftk/src/ftknlm.cpp b/ftk/src/ftknlm.cpp index e72f901..33d1fc4 100644 --- a/ftk/src/ftknlm.cpp +++ b/ftk/src/ftknlm.cpp @@ -4084,6 +4084,18 @@ RCODE FLMAPI f_chdir( } #endif +/********************************************************************** +Desc: +**********************************************************************/ +#if defined( FLM_RING_ZERO_NLM) +RCODE FLMAPI f_getcwd( + char * pszDir) +{ + *pszDir = NULL; + return( RC_SET( NE_FLM_NOT_IMPLEMENTED)); +} +#endif + #endif // FLM_NLM /**************************************************************************** diff --git a/ftk/src/ftksys.h b/ftk/src/ftksys.h index 212d7d4..baff22a 100644 --- a/ftk/src/ftksys.h +++ b/ftk/src/ftksys.h @@ -93,6 +93,7 @@ #include #include #include + #include #pragma pack( pop, enter_windows) // Conversion from XXX to YYY, possible loss of data diff --git a/ftk/src/ftkunix.cpp b/ftk/src/ftkunix.cpp index 1eef07a..171795a 100644 --- a/ftk/src/ftkunix.cpp +++ b/ftk/src/ftkunix.cpp @@ -1598,6 +1598,26 @@ Exit: return( rc); } +/********************************************************************** +Desc: +**********************************************************************/ +RCODE FLMAPI f_getcwd( + char * pszDir) +{ + RCODE rc = NE_FLM_OK; + + if( getcwd( pszDir, F_PATH_MAX_SIZE) == NULL) + { + *pszDir = 0; + rc = f_mapPlatformError( errno, NE_FLM_IO_PATH_NOT_FOUND); + goto Exit; + } + +Exit: + + return( rc); +} + #endif // FLM_UNIX #if defined( FLM_WATCOM_NLM) diff --git a/ftk/src/ftkwin.cpp b/ftk/src/ftkwin.cpp index 3bbe23e..b36c98b 100644 --- a/ftk/src/ftkwin.cpp +++ b/ftk/src/ftkwin.cpp @@ -1625,6 +1625,26 @@ Exit: return( rc); } +/********************************************************************** +Desc: +**********************************************************************/ +RCODE FLMAPI f_getcwd( + char * pszDir) +{ + RCODE rc = NE_FLM_OK; + + if( _getcwd( pszDir, F_PATH_MAX_SIZE) == NULL) + { + *pszDir = 0; + rc = f_mapPlatformError( GetLastError(), NE_FLM_IO_PATH_NOT_FOUND); + goto Exit; + } + +Exit: + + return( rc); +} + #endif // FLM_WIN /****************************************************************************