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
- }
-
-