Commit 9f4c953b5a492599983919f481cf3a8526132fe7

Authored by Perry Werneck
1 parent 0753e7a8
Exists in master and in 1 other branch develop

Fixing windows errors.

client/src/core/windows/request.cc
... ... @@ -152,7 +152,22 @@
152 152 // It´s an error, extract message
153 153 in.block[in.used] = 0;
154 154 debug("Error was ",rc," (\"",(const char *) (in.block + in.current),"\")");
155   - throw std::system_error(std::error_code(rc,std::system_category()),(const char *) (in.block + in.current));
  155 +
  156 + // Overload system error mostly because of the lack of ENOTCONN message on windows.
  157 + class Error : public std::system_error {
  158 + private:
  159 + std::string message;
  160 +
  161 + public:
  162 + Error(int rc, const char *msg) : std::system_error((int) rc, std::generic_category()), message(msg) {
  163 + }
  164 +
  165 + const char *what() const noexcept override {
  166 + return message.c_str();
  167 + }
  168 + };
  169 +
  170 + throw Error(rc, (const char *) (in.block + in.current));
156 171  
157 172 }
158 173  
... ...
server/src/core/methods/methods.c
... ... @@ -89,7 +89,7 @@ int ipc3270_method_call(GObject *object, const gchar *method_name, GVariant *req
89 89 if(!g_ascii_strcasecmp(methods[ix].name,method_name)) {
90 90  
91 91 #ifdef _DEBUG_
92   - g_message("Calling %s",methods[ix].name);
  92 + lib3270_write_log(hSession,"IPC","Calling %s",methods[ix].name);
93 93 #endif // _DEBUG_
94 94  
95 95 int rc = methods[ix].call(object,request,response,error);
... ... @@ -99,7 +99,7 @@ int ipc3270_method_call(GObject *object, const gchar *method_name, GVariant *req
99 99 if(rc)
100 100 {
101 101 debug("%s exits with rc=%d (%s)",methods[ix].name,rc,ipc3270_get_error_message(rc));
102   - g_message("%s exits with rc=%d (%s)",methods[ix].name,rc,ipc3270_get_error_message(rc));
  102 + lib3270_write_log(hSession,"IPC","%s exits with rc=%d (%s)",methods[ix].name,rc,ipc3270_get_error_message(rc));
103 103 ipc3270_set_error(object,rc,error);
104 104 debug("Error Message was set to %s",(*error)->message);
105 105 }
... ...