Commit a4d94745cd55c1b8828e5cac8befa00a716ef5e7
1 parent
b011c6dc
Exists in
master
and in
5 other branches
Corrigindo erro na restauração de sessão.
Showing
2 changed files
with
12 additions
and
3 deletions
Show diff stats
src/libpw3270cpp/service.cc
... | ... | @@ -287,11 +287,12 @@ |
287 | 287 | if(*session != '?') |
288 | 288 | { |
289 | 289 | // Já tem sessão definida, usa. |
290 | - this->name = session; | |
291 | - int rc = getInteger("chkId"); | |
290 | + int rc = getInteger("chkId",DBUS_TYPE_STRING, &session, DBUS_TYPE_INVALID); | |
292 | 291 | if(rc) { |
293 | 292 | throw exception("%s",strerror(rc)); |
294 | 293 | } |
294 | + this->name = "service://"; | |
295 | + this->name += session; | |
295 | 296 | } |
296 | 297 | else |
297 | 298 | { | ... | ... |
src/libpw3270cpp/testprogram.cc
... | ... | @@ -46,9 +46,11 @@ |
46 | 46 | // session *session = session::start(""); |
47 | 47 | // session *session = session::start("new"); |
48 | 48 | |
49 | + string name = session->get_session_name(); | |
50 | + | |
49 | 51 | cout << "pw3270 version: " << session->get_version() << endl; |
50 | 52 | cout << "pw3270 revision: " << session->get_revision() << endl; |
51 | - cout << "pw3270 session: " << session->get_session_name() << endl << endl; | |
53 | + cout << "pw3270 session: " << name << endl << endl; | |
52 | 54 | |
53 | 55 | session->set_timeout(60); |
54 | 56 | session->set_autoclose(60); |
... | ... | @@ -77,9 +79,15 @@ |
77 | 79 | cout << "Conteúdo:" << endl << session->get_contents() << endl; |
78 | 80 | |
79 | 81 | session->disconnect(); |
82 | + | |
83 | + delete session; | |
84 | + | |
85 | + session = session::start(name.c_str()); | |
86 | + cout << "Restored session: " << name << endl << endl; | |
80 | 87 | session->close(); |
81 | 88 | |
82 | 89 | delete session; |
90 | + | |
83 | 91 | } |
84 | 92 | catch(std::exception &e) { |
85 | 93 | ... | ... |