]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/other/smux/utils.cpp
Merge branch 'master' of gitorious.org:stg/stg
[stg.git] / projects / stargazer / plugins / other / smux / utils.cpp
index a67314cb98757b342bfee8099246613a6dd7a5bd..3160bc5fcf6c33b5bc1d6729c80fb74e2a8f3f21 100644 (file)
@@ -44,8 +44,7 @@ if (left < str.length())
         }
     arcs[arcPos++] = arc;
     }
-printfd(__FILE__, "String2OI() - arcPos: %d\n", arcPos);
-OBJECT_IDENTIFIER_set_arcs(oi, arcs, sizeof(arcs[0]), arcPos);
+OBJECT_IDENTIFIER_set_arcs(oi, arcs, sizeof(arcs[0]), static_cast<unsigned int>(arcPos));
 return true;
 }
 
@@ -102,14 +101,16 @@ if (error.encoded == -1)
     }
 else
     {
-    write(fd, buffer, error.encoded);
-    printfd(__FILE__, "OpenPDU encoded successfully to %d bytes\n",
-            error.encoded);
+    if (write(fd, buffer, error.encoded) < 0)
+        {
+        printfd(__FILE__, "Failed to send OpenPDU: %s\n", strerror(errno));
+        return false;
+        }
     }
 return true;
 }
 
-int SendClosePDU(int fd)
+bool SendClosePDU(int fd)
 {
 ClosePDU_t msg;
 
@@ -127,17 +128,20 @@ if (error.encoded == -1)
     {
     printfd(__FILE__, "Could not encode ClosePDU (at %s)\n",
             error.failed_type ? error.failed_type->name : "unknown");
-    return -1;
+    return false;
     }
 else
     {
-    write(fd, buffer, error.encoded);
-    printfd(__FILE__, "ClosePDU encoded successfully\n");
+    if (write(fd, buffer, error.encoded) < 0)
+        {
+        printfd(__FILE__, "Failed to send ClosePDU: %s\n", strerror(errno));
+        return false;
+        }
     }
-return 0;
+return true;
 }
 
-int SendRReqPDU(int fd)
+bool SendRReqPDU(int fd)
 {
 int oid[] = {1, 3, 6, 1, 4, 1, 38313, 1};
 asn_enc_rval_t error;
@@ -161,15 +165,17 @@ if (error.encoded == -1)
     {
     printfd(__FILE__, "Could not encode RReqPDU (at %s)\n",
             error.failed_type ? error.failed_type->name : "unknown");
-    return -1;
+    return false;
     }
 else
     {
-    write(fd, buffer, error.encoded);
-    printfd(__FILE__, "RReqPDU encoded successfully to %d bytes\n",
-            error.encoded);
+    if (write(fd, buffer, error.encoded) < 0)
+        {
+        printfd(__FILE__, "Failed to send RReqPDU: %s\n", strerror(errno));
+        return false;
+        }
     }
-return 0;
+return true;
 }
 
 SMUX_PDUs_t * RecvSMUXPDUs(int fd)
@@ -194,7 +200,7 @@ if(error.code != RC_OK)
 return pdus;
 }
 
-int SendGetResponsePDU(int fd, GetResponse_PDU_t * getResponse)
+bool SendGetResponsePDU(int fd, GetResponse_PDU_t * getResponse)
 {
 asn_enc_rval_t error;
 
@@ -206,28 +212,32 @@ if (error.encoded == -1)
     {
     printfd(__FILE__, "Could not encode GetResponsePDU (at %s)\n",
             error.failed_type ? error.failed_type->name : "unknown");
-    return -1;
+    return false;
     }
 else
     {
-    write(fd, buffer, error.encoded);
-    printfd(__FILE__, "GetResponsePDU encoded successfully to %d bytes\n",
-            error.encoded);
+    if (write(fd, buffer, error.encoded) < 0)
+        {
+        printfd(__FILE__, "Failed to send GetResponsePDU: %s\n", strerror(errno));
+        return false;
+        }
     }
-return 0;
+return true;
 }
 
-int SendGetResponseErrorPDU(int fd,
-                            const PDU_t * getRequest,
-                            int errorStatus,
-                            int errorIndex)
+bool SendGetResponseErrorPDU(int fd,
+                             const PDU_t * getRequest,
+                             int errorStatus,
+                             int errorIndex)
 {
 asn_enc_rval_t error;
 GetResponse_PDU_t msg;
 
 memset(&msg, 0, sizeof(msg));
 
-msg.request_id = getRequest->request_id;
+long id = 0;
+asn_INTEGER2long(&getRequest->request_id, &id);
+asn_long2INTEGER(&msg.request_id, id);
 asn_long2INTEGER(&msg.error_status, errorStatus);
 asn_long2INTEGER(&msg.error_index, errorIndex);
 
@@ -241,14 +251,15 @@ if (error.encoded == -1)
     {
     printfd(__FILE__, "Could not encode GetResponsePDU for error (at %s)\n",
             error.failed_type ? error.failed_type->name : "unknown");
-    return -1;
+    return false;
     }
 else
     {
-    write(fd, buffer, error.encoded);
-    printfd(__FILE__,
-            "GetResponsePDU for error encoded successfully to %d bytes\n",
-            error.encoded);
+    if (write(fd, buffer, error.encoded) < 0)
+        {
+        printfd(__FILE__, "Failed to send GetResponseErrorPDU: %s\n", strerror(errno));
+        return false;
+        }
     }
-return 0;
+return true;
 }