Seems reasonable to me, so I'm committing it now.

-- 
Angus
Index: src/support/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/support/ChangeLog,v
retrieving revision 1.340
diff -u -p -r1.340 ChangeLog
--- src/support/ChangeLog	22 Apr 2005 20:32:48 -0000	1.340
+++ src/support/ChangeLog	24 Apr 2005 12:20:03 -0000
@@ -1,3 +1,7 @@
+2005-04-24  Angus Leeming  <[EMAIL PROTECTED]>
+
+	* userinfo.C (user_name): add Windows-specific code.
+
 2005-04-22  Angus Leeming  <[EMAIL PROTECTED]>
 
 	* package.C.in (get_binary_path): on prompting from Rob Bearman,
Index: src/support/userinfo.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/support/userinfo.C,v
retrieving revision 1.10
diff -u -p -r1.10 userinfo.C
--- src/support/userinfo.C	15 Feb 2005 13:45:41 -0000	1.10
+++ src/support/userinfo.C	24 Apr 2005 12:20:03 -0000
@@ -15,8 +15,12 @@
 
 #include <boost/assert.hpp>
 
-#include <pwd.h>
-#ifdef HAVE_UNISTD_H
+#if defined (_WIN32)
+# include "gettext.h"
+# include <lmcons.h>
+# include <windows.h>
+#else
+# include <pwd.h>
 # include <unistd.h>
 #endif
 #include <sys/types.h>
@@ -28,6 +32,14 @@ namespace support {
 
 string const user_name()
 {
+#if defined (_WIN32)
+
+	char name[UNLEN + 1];
+	DWORD size = UNLEN + 1;
+	if (!GetUserName(name, &size))
+		return _("Unknown user");
+	return name;
+#else
 	struct passwd * pw(getpwuid(geteuid()));
 	BOOST_ASSERT(pw);
 
@@ -35,6 +47,7 @@ string const user_name()
 	if (name.empty())
 		name = pw->pw_name;
 	return name;
+#endif
 }
 
 
Index: development/Win32/win32_kludge.diff
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/development/Win32/win32_kludge.diff,v
retrieving revision 1.4
diff -u -p -r1.4 win32_kludge.diff
--- development/Win32/win32_kludge.diff	20 Apr 2005 17:50:34 -0000	1.4
+++ development/Win32/win32_kludge.diff	24 Apr 2005 12:20:03 -0000
@@ -568,39 +568,3 @@ diff -u -a -u -r1.25 tempname.C
  		lyxerr[Debug::FILES] << "Temporary file `" << t
  				     << "' created." << endl;
  		return t;
-Index: src/support/userinfo.C
-===================================================================
-RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/support/userinfo.C,v
-retrieving revision 1.10
-diff -u -a -u -r1.10 userinfo.C
---- src/support/userinfo.C	15 Feb 2005 13:45:41 -0000	1.10
-+++ src/support/userinfo.C	19 Apr 2005 08:09:40 -0000
-@@ -15,7 +15,9 @@
- 
- #include <boost/assert.hpp>
- 
--#include <pwd.h>
-+#ifndef _WIN32
-+# include <pwd.h>
-+#endif
- #ifdef HAVE_UNISTD_H
- # include <unistd.h>
- #endif
-@@ -28,6 +30,7 @@
- 
- string const user_name()
- {
-+#ifndef _WIN32
- 	struct passwd * pw(getpwuid(geteuid()));
- 	BOOST_ASSERT(pw);
- 
-@@ -35,6 +38,9 @@
- 	if (name.empty())
- 		name = pw->pw_name;
- 	return name;
-+#else
-+	return "dummy";
-+#endif
- }
- 
- 

Reply via email to