From 8ea0fd037b137c93a7cb4433d4162e024faf00d1 Mon Sep 17 00:00:00 2001
From: sezero <sezero@af15c1b1-3010-417e-b628-4374ebc0bcbd>
Date: Tue, 27 Dec 2011 14:00:33 +0000
Subject: [PATCH] added COM_ExtractExtension() helper.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@561 af15c1b1-3010-417e-b628-4374ebc0bcbd
---
 quakespasm/Quake/common.c | 14 ++++++++++++++
 quakespasm/Quake/common.h |  3 ++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/quakespasm/Quake/common.c b/quakespasm/Quake/common.c
index a4fdb10f..45b80096 100644
--- a/quakespasm/Quake/common.c
+++ b/quakespasm/Quake/common.c
@@ -955,6 +955,20 @@ const char *COM_FileGetExtension (const char *in)
 	return src;
 }
 
+/*
+============
+COM_ExtractExtension
+============
+*/
+void COM_ExtractExtension (const char *in, char *out, size_t outsize)
+{
+	const char *ext = COM_FileGetExtension (in);
+	if (! *ext)
+		*out = '\0';
+	else
+		q_strlcpy (out, ext, outsize);
+}
+
 /*
 ============
 COM_FileBase
diff --git a/quakespasm/Quake/common.h b/quakespasm/Quake/common.h
index 50f14595..cfd3e3b6 100644
--- a/quakespasm/Quake/common.h
+++ b/quakespasm/Quake/common.h
@@ -181,7 +181,8 @@ const char *COM_SkipPath (const char *pathname);
 void COM_StripExtension (const char *in, char *out, size_t outsize);
 void COM_FileBase (const char *in, char *out, size_t outsize);
 void COM_DefaultExtension (char *path, const char *extension, size_t len);
-const char *COM_FileGetExtension (const char *in);
+const char *COM_FileGetExtension (const char *in); /* doesn't return NULL */
+void COM_ExtractExtension (const char *in, char *out, size_t outsize);
 void COM_CreatePath (char *path);
 
 char *va (const char *format, ...) __attribute__((__format__(__printf__,1,2)));