These patches work around a bug in the gcc 2.95 STL implementation.
Committing now.
--
Angus
Index: src/support/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/support/ChangeLog,v
retrieving revision 1.149.2.36
diff -u -p -r1.149.2.36 ChangeLog
--- src/support/ChangeLog 3 Feb 2005 14:56:11 -0000 1.149.2.36
+++ src/support/ChangeLog 15 Feb 2005 18:52:55 -0000
@@ -1,3 +1,7 @@
+2005-02-15 Angus Leeming <[EMAIL PROTECTED]>
+
+ * filetools.C (setEnvPath): compare iterators rather than use tellp().
+
2005-02-03 Angus Leeming <[EMAIL PROTECTED]>
* forkedcall.C (running): call the lyx::kill wrapper function
Index: src/support/filetools.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/support/filetools.C,v
retrieving revision 1.146.2.14
diff -u -p -r1.146.2.14 filetools.C
--- src/support/filetools.C 2 Feb 2005 12:58:06 -0000 1.146.2.14
+++ src/support/filetools.C 15 Feb 2005 18:52:57 -0000
@@ -414,14 +414,15 @@ void setEnvPath(string const & name, vec
{
char const separator(os::path_separator());
std::ostringstream ss;
- vector<string>::const_iterator it = env.begin();
+ vector<string>::const_iterator const begin = env.begin();
vector<string>::const_iterator const end = env.end();
+ vector<string>::const_iterator it = begin;
for (; it != end; ++it) {
- if (ss.tellp() > 0)
+ if (it != begin)
ss << separator;
ss << os::external_path(*it);
}
- PutEnv(name + "=" + ss.str());
+ PutEnv(name + "=" + string(STRCONV(ss.str())));
}
Index: src/support/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/support/ChangeLog,v
retrieving revision 1.326
diff -u -p -r1.326 ChangeLog
--- src/support/ChangeLog 15 Feb 2005 18:43:41 -0000 1.326
+++ src/support/ChangeLog 15 Feb 2005 18:51:53 -0000
@@ -1,6 +1,7 @@
2005-02-15 Angus Leeming <[EMAIL PROTECTED]>
* environment.C: add missing #include.
+ (setEnvPath): compare iterators rather than use tellp().
2005-02-15 Angus Leeming <[EMAIL PROTECTED]>
Index: src/support/environment.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/support/environment.C,v
retrieving revision 1.2
diff -u -p -r1.2 environment.C
--- src/support/environment.C 15 Feb 2005 18:43:41 -0000 1.2
+++ src/support/environment.C 15 Feb 2005 18:51:53 -0000
@@ -89,10 +89,11 @@ void setEnvPath(string const & name, vec
{
char const separator(os::path_separator());
std::ostringstream ss;
- vector<string>::const_iterator it = env.begin();
+ vector<string>::const_iterator const begin = env.begin();
vector<string>::const_iterator const end = env.end();
+ vector<string>::const_iterator it = begin;
for (; it != end; ++it) {
- if (ss.tellp() > 0)
+ if (it != begin)
ss << separator;
ss << os::external_path(*it);
}