src/util.c

changeset 8596
6d70d45b8ea6
parent 8577
64f25a17f8e4
child 8625
fc8b225d804d
--- a/src/util.c	Tue Apr 06 05:41:12 2004 +0000
+++ b/src/util.c	Tue Apr 06 14:29:51 2004 +0000
@@ -61,10 +61,9 @@
 
 } GaimFetchUrlData;
 
-
+static char custom_home_dir[MAXPATHLEN];
 static char home_dir[MAXPATHLEN];
 
-
 /**************************************************************************
  * Base16 Functions
  **************************************************************************/
@@ -1528,17 +1527,25 @@
 char *
 gaim_user_dir(void)
 {
-	const gchar *hd = gaim_home_dir();
+	if (custom_home_dir != NULL && strlen(custom_home_dir) > 0) {
+		strcpy ((char*) &home_dir, (char*) &custom_home_dir);
+	} else {
+		const gchar *hd = gaim_home_dir();
 
-	if(hd)
-	{
-		strcpy( (char*)&home_dir, hd );
-		strcat( (char*)&home_dir, G_DIR_SEPARATOR_S ".gaim" );
-
-		return (gchar*)&home_dir;
+		if (hd) {
+			strcpy((char*) &home_dir, hd);
+			strcat((char*) &home_dir, G_DIR_SEPARATOR_S ".gaim");
+		}
 	}
 
-	return NULL;
+	return home_dir;
+}
+
+void set_gaim_user_dir(const char *dir)
+{
+	if (dir != NULL && strlen(dir) > 0) {
+		strcpy((char*) &custom_home_dir, dir);
+	}
 }
 
 int gaim_build_dir (const char *path, int mode)

mercurial