X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FAuthor.cpp;h=79e7de0864b942d059a5ec1502eccb475f17b792;hb=c6e1db7682dc8d58a68147b5eee1d004829ef6d2;hp=e88bb7f4905899e0a7d27744177f1a30d5b29f07;hpb=f226c9d3fce674cebf9228b553c55fcff1acca93;p=lyx.git diff --git a/src/Author.cpp b/src/Author.cpp index e88bb7f490..79e7de0864 100644 --- a/src/Author.cpp +++ b/src/Author.cpp @@ -26,11 +26,11 @@ namespace lyx { static int computeHash(docstring const & name, docstring const & email) { - string const full_author_string = to_ascii(name + email); + string const full_author_string = to_utf8(name + email); // Bernstein's hash function unsigned int hash = 5381; for (unsigned int i = 0; i < full_author_string.length(); ++i) - hash = ((hash << 5) + hash) + unsigned int(full_author_string[i]); + hash = ((hash << 5) + hash) + (unsigned int)(full_author_string[i]); return int(hash); } @@ -51,12 +51,13 @@ bool operator==(Author const & l, Author const & r) ostream & operator<<(ostream & os, Author const & a) { // FIXME UNICODE - os << a.buffer_id() << " \"" << to_utf8(a.name()) - << "\" " << to_utf8(a.email()); - + os << a.buffer_id_ << " \"" << to_utf8(a.name_) + << "\" " << to_utf8(a.email_); + return os; } + istream & operator>>(istream & is, Author & a) { string s; @@ -69,15 +70,15 @@ istream & operator>>(istream & is, Author & a) } -bool author_smaller(Author const & lhs, Author const & rhs) { - return lhs.buffer_id() < rhs.buffer_id(); +bool author_smaller(Author const & lhs, Author const & rhs) +{ + return lhs.bufferId() < rhs.bufferId(); } AuthorList::AuthorList() : last_id_(0) -{ -} +{} int AuthorList::record(Author const & a) @@ -85,8 +86,8 @@ int AuthorList::record(Author const & a) // If we record an author which equals the current // author, we copy the buffer_id, so that it will // keep the same id in the file. - if (authors_.size() > 0 && a == authors_[0]) - authors_[0].setBufferId(a.buffer_id()); + if (!authors_.empty() && a == authors_[0]) + authors_[0].setBufferId(a.bufferId()); Authors::const_iterator it(authors_.begin()); Authors::const_iterator itend(authors_.end()); @@ -101,8 +102,7 @@ int AuthorList::record(Author const & a) void AuthorList::record(int id, Author const & a) { - LASSERT(unsigned(id) < authors_.size(), /**/); - + LBUFERR(unsigned(id) < authors_.size()); authors_[id] = a; } @@ -116,7 +116,7 @@ void AuthorList::recordCurrentAuthor(Author const & a) Author const & AuthorList::get(int id) const { - LASSERT(id < (int)authors_.size() , /**/); + LASSERT(id < (int)authors_.size() , return authors_[0]); return authors_[id]; } @@ -133,12 +133,14 @@ AuthorList::Authors::const_iterator AuthorList::end() const } -void AuthorList::sort() { +void AuthorList::sort() +{ std::sort(authors_.begin(), authors_.end(), author_smaller); } -ostream & operator<<(ostream & os, AuthorList const & a) { +ostream & operator<<(ostream & os, AuthorList const & a) +{ // Copy the authorlist, because we don't want to sort the original AuthorList sorted = a; sorted.sort();