Use guac_error appropriately.
authorMichael Jumper <zhangmaike@users.sourceforge.net>
Sun, 25 Mar 2012 20:07:31 +0000 (13:07 -0700)
committerMichael Jumper <zhangmaike@users.sourceforge.net>
Sun, 25 Mar 2012 20:07:31 +0000 (13:07 -0700)
src/client.c
src/guac_handlers.c

index 41b1bbc..e45c5cc 100644 (file)
@@ -57,6 +57,7 @@
 #include <guacamole/socket.h>
 #include <guacamole/protocol.h>
 #include <guacamole/client.h>
+#include <guacamole/error.h>
 
 #include "client.h"
 #include "guac_handlers.h"
@@ -248,8 +249,14 @@ int guac_client_init(guac_client* client, int argc, char** argv) {
     boolean bitmap_cache;
 
     if (argc < 8) {
-        guac_protocol_send_error(client->socket, "Wrong argument count received.");
+
+        guac_protocol_send_error(client->socket,
+                "Wrong argument count received.");
         guac_socket_flush(client->socket);
+
+        guac_error = GUAC_STATUS_BAD_ARGUMENT;
+        guac_error_message = "Wrong argument count received";
+
         return 1;
     }
 
@@ -371,8 +378,14 @@ int guac_client_init(guac_client* client, int argc, char** argv) {
 
     /* Connect to RDP server */
     if (!freerdp_connect(rdp_inst)) {
-        guac_protocol_send_error(client->socket, "Error connecting to RDP server");
+
+        guac_protocol_send_error(client->socket,
+                "Error connecting to RDP server");
         guac_socket_flush(client->socket);
+
+        guac_error = GUAC_STATUS_BAD_STATE;
+        guac_error_message = "Error connecting to RDP server";
+
         return 1;
     }
 
index 932abe2..ef4c0cb 100644 (file)
@@ -51,6 +51,7 @@
 #include <guacamole/socket.h>
 #include <guacamole/protocol.h>
 #include <guacamole/client.h>
+#include <guacamole/error.h>
 
 #include "client.h"
 #include "rdp_keymap.h"
@@ -105,13 +106,15 @@ int rdp_guac_client_handle_messages(guac_client* client) {
 
     /* get rdp fds */
     if (!freerdp_get_fds(rdp_inst, read_fds, &read_count, write_fds, &write_count)) {
-        guac_client_log_error(client, "Unable to read RDP file descriptors.");
+        guac_error = GUAC_STATUS_BAD_STATE;
+        guac_error_message = "Unable to read RDP file descriptors";
         return 1;
     }
 
     /* get channel fds */
     if (!freerdp_channels_get_fds(channels, rdp_inst, read_fds, &read_count, write_fds, &write_count)) {
-        guac_client_log_error(client, "Unable to read RDP channel file descriptors.");
+        guac_error = GUAC_STATUS_BAD_STATE;
+        guac_error_message = "Unable to read RDP channel file descriptors";
         return 1;
     }
 
@@ -136,7 +139,8 @@ int rdp_guac_client_handle_messages(guac_client* client) {
 
     /* If no file descriptors, error */
     if (max_fd == 0) {
-        guac_client_log_error(client, "No file descriptors");
+        guac_error = GUAC_STATUS_BAD_STATE;
+        guac_error_message = "No file descriptors";
         return 1;
     }
 
@@ -148,20 +152,23 @@ int rdp_guac_client_handle_messages(guac_client* client) {
             (errno == EINPROGRESS) ||
             (errno == EINTR))) /* signal occurred */
         {
-            guac_client_log_error(client, "Error waiting for file descriptor.");
+            guac_error = GUAC_STATUS_SEE_ERRNO;
+            guac_error_message = "Error waiting for file descriptor";
             return 1;
         }
     }
 
     /* Check the libfreerdp fds */
     if (!freerdp_check_fds(rdp_inst)) {
-        guac_client_log_error(client, "Error handling RDP file descriptors.");
+        guac_error = GUAC_STATUS_BAD_STATE;
+        guac_error_message = "Error handling RDP file descriptors";
         return 1;
     }
 
     /* Check channel fds */
     if (!freerdp_channels_check_fds(channels, rdp_inst)) {
-        guac_client_log_error(client, "Error handling RDP channel file descriptors.");
+        guac_error = GUAC_STATUS_BAD_STATE;
+        guac_error_message = "Error handling RDP channel file descriptors";
         return 1;
     }