X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=zoom%2Fzconn.cpp;h=4c1c7a6ea0d8728e9ebb62edc1442c56e78864ba;hb=dcd535eeb3ceaa9cfb19395f8e1780609f7c7d4b;hp=d5d4c85ac8d6e75e628fd153ac70e5f530894636;hpb=88e190489a5c483e5b860048aeebde41bf262962;p=yazpp-moved-to-github.git diff --git a/zoom/zconn.cpp b/zoom/zconn.cpp index d5d4c85..4c1c7a6 100644 --- a/zoom/zconn.cpp +++ b/zoom/zconn.cpp @@ -1,4 +1,4 @@ -// $Header: /home/cvsroot/yaz++/zoom/zconn.cpp,v 1.4 2002-11-30 22:33:21 mike Exp $ +// $Header: /home/cvsroot/yaz++/zoom/zconn.cpp,v 1.7 2005-05-03 16:21:16 mike Exp $ // Z39.50 Connection class @@ -6,7 +6,7 @@ namespace ZOOM { - connection::connection(const string &hostname, int portnum) { + connection::connection(const std::string &hostname, int portnum) { const char *line_printer_size_hostname = hostname.c_str(); //###cerr << "opening " << hostname << ":" << portnum << "\n"; c = ZOOM_connection_new(line_printer_size_hostname, portnum); @@ -17,15 +17,17 @@ namespace ZOOM { const char *addinfo; if ((errcode = ZOOM_connection_error(c, &errmsg, &addinfo)) != 0) { //###cerr << "oops: no connect, errcode=" << errcode << "\n"; + ZOOM_connection_destroy(c); throw bib1Exception(errcode, addinfo); } } - string connection::option(const string &key) const { - return ZOOM_connection_option_get(c, key.c_str()); + std::string connection::option(const std::string &key) const { + const char* val = ZOOM_connection_option_get(c, key.c_str()); + return (val) ? val : std::string(); } - bool connection::option(const string &key, const string &val) { + bool connection::option(const std::string &key, const std::string &val) { // No way to tell whether ZOOM_connection_option_set() accepts key ZOOM_connection_option_set(c, key.c_str(), val.c_str()); return true;