Fixed endianity.
authorshort <>
Fri, 21 May 2004 04:53:09 +0000 (04:53 +0000)
committershort <>
Fri, 21 May 2004 04:53:09 +0000 (04:53 +0000)
Hex numbers are now printed uppercased.
Fixed probe reply parsing from the right socket.

src/packet.c

index fa86e88..8be08de 100644 (file)
@@ -54,24 +54,20 @@ guint16 value_guint16_htonl;
 
 static void packet_assembly_data_guint32(GString *gstring,guint32 value_guint32)
 {
-guint32 value_guint32_htonl=htonl(value_guint32);
-
        g_return_if_fail(gstring!=NULL);
 
-       g_assert(4==sizeof(value_guint32_htonl));
-       packet_assembly_guint32(gstring,sizeof(value_guint32_htonl));
-       packet_assembly_guint32(gstring,value_guint32_htonl);
+       g_assert(4==sizeof(value_guint32));
+       packet_assembly_guint32(gstring,sizeof(value_guint32));
+       packet_assembly_guint32(gstring,value_guint32);
 }
 
 static void packet_assembly_data_guint16(GString *gstring,guint16 value_guint16)
 {
-guint16 value_guint16_htonl=htons(value_guint16);
-
        g_return_if_fail(gstring!=NULL);
 
-       g_assert(2==sizeof(value_guint16_htonl));
-       packet_assembly_guint32(gstring,sizeof(value_guint16_htonl));
-       packet_assembly_guint16(gstring,value_guint16_htonl);
+       g_assert(2==sizeof(value_guint16));
+       packet_assembly_guint32(gstring,sizeof(value_guint16));
+       packet_assembly_guint16(gstring,value_guint16);
 }
 
 static void packet_assembly_data_string(GString *gstring,const gchar *string)
@@ -118,7 +114,7 @@ guint32 elem_type_uint32;
                case PACKET_ELEM_TYPE_DATA_GUINT32:
                        packet_assembly_data_guint32(gstring,GPOINTER_TO_UINT(value));
                        if (optarg_verbose)
-                               g_message(_("Assembled DATA_GUINT32: 0x%08x"),(unsigned)GPOINTER_TO_UINT(value));
+                               g_message(_("Assembled DATA_GUINT32: 0x%08X"),(unsigned)GPOINTER_TO_UINT(value));
                        break;
                case PACKET_ELEM_TYPE_CLIENT_PORT:
                        packet_assembly_data_guint16(gstring,GPOINTER_TO_UINT(value));
@@ -278,6 +274,15 @@ guint16 value_guint16;
        return TRUE;
 }
 
+gboolean packet_recognized(gconstpointer packet,size_t packet_length)
+{
+       if (strlen(PACKET_HEADER)>packet_length)
+               return FALSE;
+       if (memcmp(packet,PACKET_HEADER,strlen(PACKET_HEADER)))
+               return FALSE;
+       return TRUE;
+}
+
 GHashTable *packet_disassembly(gconstpointer packet,size_t packet_length)
 {
 GHashTable *r;
@@ -340,7 +345,7 @@ err_packet_disassembly_destroy_value_destroy_func_items:
                        if (!packet_disassembly_data_guint32(&value,elem_data,elem_data_length_guint32,&items))
                                goto err_packet_disassembly_destroy_value_destroy_func_items;
                        if (optarg_verbose)
-                               g_message(_("Decoded DATA_GUINT32: 0x%08x"),(unsigned)GPOINTER_TO_UINT(value));
+                               g_message(_("Decoded DATA_GUINT32: 0x%08X"),(unsigned)GPOINTER_TO_UINT(value));
                        break;
                case PACKET_ELEM_TYPE_CLIENT_PORT:
                        if (!packet_disassembly_data_guint16(&value,elem_data,elem_data_length_guint32,&items))
@@ -351,12 +356,12 @@ err_packet_disassembly_destroy_value_destroy_func_items:
                default:
                        if (elem_type_guint32&PACKET_ELEM_ATTR_MANDATORY) {
                                if (optarg_verbose)
-                                       g_message(_("Decoding failed on ATTR_MANDATORY ELEM code 0x%08x"),(unsigned)elem_type_guint32);
+                                       g_message(_("Decoding failed on ATTR_MANDATORY ELEM code 0x%08X"),(unsigned)elem_type_guint32);
                                goto err_packet_disassembly_destroy_value_destroy_func_items;
                                }
                        else {
                                if (optarg_verbose)
-                                       g_message(_("Decoding ignores ATTR_OPTIONAL ELEM code 0x%08x"),(unsigned)elem_type_guint32);
+                                       g_message(_("Decoding ignores ATTR_OPTIONAL ELEM code 0x%08X"),(unsigned)elem_type_guint32);
                                }
                        continue;
                        }