diff --git a/src/common/searchpath.c b/src/common/searchpath.c
index 734b0834c..24b5ec3bb 100644
--- a/src/common/searchpath.c
+++ b/src/common/searchpath.c
@@ -172,6 +172,14 @@ void AddSearchPath (const char* NewPath, unsigned Where)
 
 
 
+void AddSearchPathFromEnv (const char* EnvVar, unsigned Where)
+/* Add a search from an environment variable */
+{
+    AddSearchPath (getenv (EnvVar), Where);
+}
+
+
+
 char* SearchFile (const char* Name, unsigned Where)
 /* Search for a file in a list of directories. Return a pointer to a malloced
  * area that contains the complete path, if found, return 0 otherwise.
diff --git a/src/common/searchpath.h b/src/common/searchpath.h
index a59ac7d86..0e51e1963 100644
--- a/src/common/searchpath.h
+++ b/src/common/searchpath.h
@@ -34,7 +34,7 @@
 
 
 /* Exports facilities to search files in a list of directories. 8 of these
- * lists are managed, and each list can contain an arbitrary number of 
+ * lists are managed, and each list can contain an arbitrary number of
  * directories. The "Where" argument is actually a bitset, specifying which
  * of the search lists should be used when adding paths or searching files.
  */
@@ -66,6 +66,9 @@
 void AddSearchPath (const char* NewPath, unsigned Where);
 /* Add a new search path to the existing one */
 
+void AddSearchPathFromEnv (const char* EnvVar, unsigned Where);
+/* Add a search from an environment variable */
+
 char* SearchFile (const char* Name, unsigned Where);
 /* Search for a file in a list of directories. Return a pointer to a malloced
  * area that contains the complete path, if found, return 0 otherwise.