_WCRTLINK char *getcwd( char *buf, size_t size ) { int drive; char *p; char cwd[256]; if( buf == NULL ) { size = 256; p = lib_malloc( size ); } else { p = buf; } drive = RdosGetCurDrive(); cwd[0] = drive + 'A'; cwd[1] = DRV_SEP; cwd[2] = DIR_SEP; if( RdosGetCurDir( drive, &cwd[3] ) ) { return( strncpy( p, cwd, size ) ); } else { return( NULL ); } }
_WCRTLINK CHAR_TYPE *getcwd( CHAR_TYPE *buf, size_t size ) { int drive; char *p; char cwd[256]; if( buf == NULL ) { size = 256; p = lib_malloc( size ); } else p = buf; drive = RdosGetCurDrive(); cwd[0] = drive + 'A'; cwd[1] = ':'; cwd[2] = '\\'; if( RdosGetCurDir( drive, &cwd[3] ) ) return( strncpy( p, cwd, size ) ); else return( NULL ); }