130 |
|
ext::Handle<xml::Document> document(xml::Parse(config)); |
131 |
|
ext::Handle<xml::Node> zoe(*document/"zoe"); |
132 |
|
|
133 |
< |
login = std::string(*zoe/"login"); |
134 |
< |
password = std::string(*zoe/"password"); |
135 |
< |
database.driver = std::string(*zoe/"database"/"driver"); |
136 |
< |
database.host = std::string(*zoe/"database"/"host"); |
137 |
< |
database.user = std::string(*zoe/"database"/"user"); |
133 |
> |
login = *zoe/"login"; |
134 |
> |
password = *zoe/"password"; |
135 |
> |
database.driver = *zoe/"database"/"driver"; |
136 |
> |
database.host = *zoe/"database"/"host"; |
137 |
> |
database.user = *zoe/"database"/"user"; |
138 |
|
|
139 |
|
if ((*zoe/"database"/"password").IsEmpty()) |
140 |
|
{ |
148 |
|
for (size_t index(std::strlen(password)); index > 0; --index) |
149 |
|
password[index - 1] = '\0'; |
150 |
|
} |
151 |
< |
else database.password = std::string(*zoe/"database"/"password"); |
151 |
> |
else database.password = *zoe/"database"/"password"; |
152 |
|
|
153 |
< |
database.db = std::string(*zoe/"database"/"db"); |
153 |
> |
database.db = *zoe/"database"/"db"; |
154 |
|
|
155 |
|
if (debug) cerr << "login = " << login << "\npassword = " |
156 |
|
<< std::string(password.GetSize(), '*') << "\ndatabase = {\n" |
159 |
|
<< " password = " << std::string(database.password.GetSize(), '*') |
160 |
|
<< "\n db = " << database.db << "\n}\n"; |
161 |
|
|
162 |
< |
std::string link(*zoe/"link"); |
162 |
> |
ext::String link(*zoe/"link"); |
163 |
|
xml::NodeSet buddies(*zoe/"buddy"); |
164 |
|
|
165 |
|
for (xml::NodeSet::Iterator buddy(buddies.Begin()); buddy != buddies.End(); |
166 |
|
++buddy) |
167 |
|
{ |
168 |
|
Buddy buddy_(**buddy/"login", **buddy/"rss", **buddy/"atom", |
169 |
< |
!(**buddy/"link").IsEmpty() ? **buddy/"link" : link); |
169 |
> |
!(**buddy/"link").IsEmpty() ? **buddy/"link" : (link |
170 |
> |
+ ext::String(**buddy/"login") + ".html")); |
171 |
|
|
172 |
|
this->buddies.insert(buddy_); |
173 |
|
} |
201 |
|
|
202 |
|
while (buddies->MoveNext()) |
203 |
|
{ |
204 |
< |
Buddy buddy(*this->buddies.find(buddies->GetString("buddy"))); |
204 |
> |
if (this->buddies.find(buddies->GetString("buddy")) != this->buddies.end()) |
205 |
> |
{ |
206 |
> |
Buddy buddy(*this->buddies.find(buddies->GetString("buddy"))); |
207 |
|
|
208 |
< |
buddy.setId(lexical_cast<ext::Uuid>(buddies->GetString("id"))); |
209 |
< |
buddies_.insert(buddy); |
208 |
> |
buddy.setId(lexical_cast<ext::Uuid>(buddies->GetString("id"))); |
209 |
> |
buddies_.insert(buddy); |
210 |
> |
} |
211 |
|
} |
212 |
|
|
213 |
|
std::vector<Buddy> difference; |