*
* LyX, The Document Processor
*
- * Copyright 2000 The LyX Team.
+ * Copyright 2000-2001 The LyX Team.
*
* @author: Jürgen Vigna
*
using std::getline;
using std::endl;
+#ifndef CXX_GLOBAL_CSTD
+using std::strlen;
+#endif
-static
-bool getTokenValue(string const & str, const char * token, string & ret)
+namespace {
+
+bool getTokenValue(string const & str, char const * token, string & ret)
{
size_t token_length = strlen(token);
string::size_type pos = str.find(token);
- if (pos == string::npos || pos+token_length+1 >= str.length()
- || str[pos+token_length] != '=')
+ if (pos == string::npos || pos + token_length + 1 >= str.length()
+ || str[pos + token_length] != '=')
return false;
ret.erase();
pos += token_length + 1;
ret += ch;
ch = ' ';
}
- while((pos < str.length() - 1) && (str[++pos] != ch))
+ while ((pos < str.length() - 1) && (str[++pos] != ch))
ret += str[pos];
return true;
}
-static
-bool getTokenValue(string const & str, const char * token, int & num)
+bool getTokenValue(string const & str, char const * token, int & num)
{
string::size_type pos = str.find(token);
char ch = str[pos + strlen(token)];
ret += ch;
}
++pos;
- while((pos < str.length() - 1) && isdigit(str[pos]))
+ while ((pos < str.length() - 1) && isdigit(str[pos]))
ret += str[pos++];
num = strToInt(ret);
}
-static
-bool getTokenValue(string const & str, const char * token, LyXAlignment & num)
+bool getTokenValue(string const & str, char const * token, LyXAlignment & num)
{
int tmp;
bool const ret = getTokenValue(str, token, tmp);
}
-static
-bool getTokenValue(string const & str, const char * token,
+bool getTokenValue(string const & str, char const * token,
LyXTabular::VAlignment & num)
{
int tmp;
}
-static
-bool getTokenValue(string const & str, const char * token,
+bool getTokenValue(string const & str, char const * token,
LyXTabular::BoxType & num)
{
int tmp;
}
-static
-bool getTokenValue(string const & str, const char * token, bool & flag)
+bool getTokenValue(string const & str, char const * token, bool & flag)
{
string::size_type pos = str.find(token);
char ch = str[pos + strlen(token)];
ret += ch;
}
++pos;
- while((pos < str.length() - 1) && isdigit(str[pos]))
+ while ((pos < str.length() - 1) && isdigit(str[pos]))
ret += str[pos++];
flag = strToInt(ret);
}
-static inline
+bool getTokenValue(string const & str, const char * token, LyXLength & len)
+{
+ string tmp;
+ if (!getTokenValue(str, token, tmp))
+ return false;
+ return isValidLength(tmp, &len);
+}
+
+
+inline
void l_getline(istream & is, string & str)
{
+#ifdef WITH_WARNINGS
+//#warning old l_getline
+#endif
getline(is, str);
- while(str.empty())
+ while (str.empty())
getline(is, str);
}
+} // namespace anon
+
void LyXTabular::ReadOld(Buffer const * buf, istream & is,
LyXLex & lex, string const & l)
return;
}
getTokenValue(line, "islongtable", is_long_tabular);
- getTokenValue(line, "endhead", endhead);
- getTokenValue(line, "endfirsthead", endfirsthead);
- getTokenValue(line, "endfoot", endfoot);
- getTokenValue(line, "endlastfoot", endlastfoot);
+ getTokenValue(line, "endhead", endhead.row);
+ getTokenValue(line, "endfirsthead", endfirsthead.row);
+ getTokenValue(line, "endfoot", endfoot.row);
+ getTokenValue(line, "endlastfoot", endlastfoot.row);
for (int i = 0; i < rows_; ++i) {
l_getline(is, line);
getTokenValue(line, "special", cell_info[i][j].align_special);
l_getline(is, line);
if (prefixIs(line, "\\begin_inset")) {
- cell_info[i][j].inset.Read(buf, lex);
+ cell_info[i][j].inset.read(buf, lex);
l_getline(is, line);
}
if (line != "</Cell>") {