restore inquire_name, regressed in earlier commit
[mech_eap.orig] / mech_eap / util_cred.c
index 0cb8a76..11dcfeb 100644 (file)
@@ -36,7 +36,9 @@
 
 #include "gssapiP_eap.h"
 
-#ifndef WIN32
+#ifdef WIN32
+#include <shlobj.h>
+#else
 #include <pwd.h>
 #endif
 
@@ -55,7 +57,7 @@ gssEapAllocCred(OM_uint32 *minor, gss_cred_id_t *pCred)
     }
 
     if (GSSEAP_MUTEX_INIT(&cred->mutex) != 0) {
-        *minor = errno;
+        *minor = GSSEAP_GET_LAST_ERROR();
         gssEapReleaseCred(&tmpMinor, &cred);
         return GSS_S_FAILURE;
     }
@@ -129,10 +131,13 @@ readStaticIdentityFile(OM_uint32 *minor,
 {
     OM_uint32 major, tmpMinor;
     FILE *fp = NULL;
-    char pwbuf[BUFSIZ], buf[BUFSIZ];
+    char buf[BUFSIZ];
     char *ccacheName;
-    struct passwd *pw = NULL, pwd;
     int i = 0;
+#ifndef WIN32
+    struct passwd *pw = NULL, pwd;
+    char pwbuf[BUFSIZ];
+#endif
 
     defaultIdentity->length = 0;
     defaultIdentity->value = NULL;
@@ -162,7 +167,7 @@ readStaticIdentityFile(OM_uint32 *minor,
         if (getpwuid_r(getuid(), &pwd, pwbuf, sizeof(pwbuf), &pw) != 0 ||
             pw == NULL || pw->pw_dir == NULL) {
             major = GSS_S_CRED_UNAVAIL;
-            *minor = errno;
+            *minor = GSSEAP_GET_LAST_ERROR();
             goto cleanup;
         }