diff src/protocols/zephyr/ZVariables.c @ 10867:5727afad0fb8

[gaim-migrate @ 12553] sf patch #991208, from Arun A Tharuvai "Here's a patch, against current CVS, to build and compile zephyr on Windows, with, or without Kerberos 4 Authentication. In order to be built (and run) with Kerberos 4 authentication, the Kerberos for Windows SDK (version 2.6.3 is the current version) (licensed under the MIT license) and runtimes, both available from http://web.mit.edu/kerberos/www/dist/index.html#KFW2.6.3 Also, USE_KRB4 should be set to true in the attached Makefile.mingw As on the UNIX side, an external 'zhm' binary needs to run for zephyr to work. Source and a win32 executable (using code from gaim's libzephyr, and also MIT's zephyr distribution), can be found at http://web.mit.edu/aatharuv/www/zhm-windows.html" I decided not to make zephyr compiled by default in Windows. If you want to compile it, I think you you can modify the root Makefile.mingw or cd to the src/protocols/zephyr/ directory and run "make -f Makefile.mingw" using make from mingw committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 25 Apr 2005 01:53:01 +0000
parents 12aa8ce77077
children 64895571248f
line wrap: on
line diff
--- a/src/protocols/zephyr/ZVariables.c	Mon Apr 25 00:31:24 2005 +0000
+++ b/src/protocols/zephyr/ZVariables.c	Mon Apr 25 01:53:01 2005 +0000
@@ -5,7 +5,7 @@
  *	Created by:	Robert French
  *
  *	$Source$
- *	$Author: nosnilmot $
+ *	$Author: thekingant $
  *
  *	Copyright (c) 1987 by the Massachusetts Institute of Technology.
  *	For copying and distribution information, see the file
@@ -21,7 +21,9 @@
 #include "util.h"
 
 #include <ctype.h>
+#ifndef WIN32
 #include <pwd.h>
+#endif
 
 static int get_localvarfile __P((char *bfr));
 static char *get_varval __P((char *fn, char *val));
@@ -38,7 +40,11 @@
     if ((ret = get_varval(varfile, var)) != ZERR_NONE)
 	return (ret);
 
+#ifdef WIN32
+    sprintf(varfile, "C:\\zephyr\\zephyr.var");
+#else
     sprintf(varfile, "%s/zephyr.vars", CONFDIR);
+#endif
     return (get_varval(varfile, var));
 }
 
@@ -116,17 +122,26 @@
     char *bfr;
 {
     const char *envptr;
+#ifndef WIN32
     struct passwd *pwd;
-
     envptr = gaim_home_dir();
+#else
+    envptr = getenv("HOME");
+    if (!envptr)
+        envptr = getenv("HOMEPATH");
+    if (!envptr) 
+        envptr = "C:\\";
+#endif
     if (envptr)
 	(void) strcpy(bfr, envptr);
     else {
+#ifndef WIN32
 	if (!(pwd = getpwuid((int) getuid()))) {
 	    fprintf(stderr, "Zephyr internal failure: Can't find your entry in /etc/passwd\n");
 	    return (1);
 	}
 	(void) strcpy(bfr, pwd->pw_dir);
+#endif
     }
 
     (void) strcat(bfr, "/");
@@ -174,7 +189,9 @@
     while (*cp && !isspace(*cp) && (*cp != '='))
 	cp++;
 
+#ifndef WIN32
 #define max(a,b) ((a > b) ? (a) : (b))
+#endif
 
     if (strncasecmp(bfr, var, max(strlen(var),cp - bfr)))
 	return(0);			/* var is not the var in