diff --git a/src/xpdev/dirwrap.c b/src/xpdev/dirwrap.c
index 4f86efa3f91af385316623da68c26170518af08f..e0654e9275bf9caa88334be60f4c87ac74c0b52d 100644
--- a/src/xpdev/dirwrap.c
+++ b/src/xpdev/dirwrap.c
@@ -95,6 +95,20 @@ char* DLLCALL getfname(const char* path)
 	return(fname);
 }
 
+/****************************************************************************/
+/* Return a pointer to a file's extesion (beginning with '.')				*/
+/****************************************************************************/
+char* DLLCALL getfext(const char* path)
+{
+	char *fname;
+	char *fext;
+
+	fname=getfname(path);
+	fext=strrchr(fname,'.');
+	if(fext==NULL || fext==fname) 
+		return(NULL);
+	return(fext);
+}
 
 /****************************************************************************/
 /* Break a path name into components.										*/
diff --git a/src/xpdev/dirwrap.h b/src/xpdev/dirwrap.h
index 7f2f07a65523f3c0c9655bd2eeb937b8d59915cd..719e60707f622db1393bc61d03b6dee9d5b795ad 100644
--- a/src/xpdev/dirwrap.h
+++ b/src/xpdev/dirwrap.h
@@ -210,6 +210,7 @@ DLLEXPORT time_t	DLLCALL fdate(const char *filename);
 DLLEXPORT int		DLLCALL setfdate(const char* filename, time_t t);
 DLLEXPORT BOOL		DLLCALL	isdir(const char *filename);
 DLLEXPORT char*		DLLCALL getfname(const char* path);
+DLLEXPORT char*		DLLCALL getfext(const char* path);
 DLLEXPORT int		DLLCALL getfattr(const char* filename);
 DLLEXPORT ulong		DLLCALL getfreediskspace(const char* path, ulong unit);
 DLLEXPORT ulong		DLLCALL delfiles(char *inpath, char *spec);