Changeset 5245

Show
Ignore:
Timestamp:
02/09/08 20:21:45 (1 year ago)
Author:
morris
Message:

Assert if editing non-binary message

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libwired/trunk/libwired/p7/wi-p7-message.c

    r5244 r5245  
    3535#else 
    3636 
     37#include <wired/wi-assert.h> 
    3738#include <wired/wi-byteorder.h> 
    3839#include <wired/wi-p7-message.h> 
     
    904905        uint32_t                field_id; 
    905906 
    906         if(p7_message->serialization == WI_P7_BINARY) { 
    907                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
    908                         return false; 
    909                  
    910                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    911                  
    912                 binary[4] = value ? 1 : 0; 
    913                  
    914                 return true; 
    915         } 
    916          
    917         return false; 
     907        WI_ASSERT(p7_message->serialization == WI_P7_BINARY, "Message is not editable"); 
     908         
     909        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
     910                return false; 
     911         
     912        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     913         
     914        binary[4] = value ? 1 : 0; 
     915         
     916        return true; 
    918917} 
    919918 
     
    976975        uint32_t                field_id; 
    977976 
    978         if(p7_message->serialization == WI_P7_BINARY) { 
    979                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
    980                         return false; 
    981                  
    982                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    983                 wi_write_swap_host_to_big_int32(binary, 4, value); 
    984                  
    985                 return true; 
    986         } 
    987          
    988         return false; 
     977        WI_ASSERT(p7_message->serialization == WI_P7_BINARY, "Message is not editable"); 
     978         
     979        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
     980                return false; 
     981         
     982        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     983        wi_write_swap_host_to_big_int32(binary, 4, value); 
     984         
     985        return true; 
    989986} 
    990987 
     
    10471044        uint32_t                field_id; 
    10481045 
    1049         if(p7_message->serialization == WI_P7_BINARY) { 
    1050                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
    1051                         return false; 
    1052                  
    1053                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    1054                 wi_write_swap_host_to_big_int64(binary, 4, value); 
    1055                  
    1056                 return true; 
    1057         } 
    1058          
    1059         return false; 
     1046        WI_ASSERT(p7_message->serialization == WI_P7_BINARY, "Message is not editable"); 
     1047         
     1048        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
     1049                return false; 
     1050         
     1051        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     1052        wi_write_swap_host_to_big_int64(binary, 4, value); 
     1053         
     1054        return true; 
    10601055} 
    10611056 
     
    11181113        uint32_t                field_id; 
    11191114 
    1120         if(p7_message->serialization == WI_P7_BINARY) { 
    1121                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
    1122                         return false; 
    1123                  
    1124                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    1125                  
    1126                 _wi_p7_message_double_to_ieee754(value, binary + 4); 
    1127          
    1128                 return true; 
    1129         } 
    1130          
    1131         return false; 
     1115        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
     1116                return false; 
     1117         
     1118        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     1119         
     1120        _wi_p7_message_double_to_ieee754(value, binary + 4); 
     1121 
     1122        return true; 
    11321123} 
    11331124 
     
    11611152        uint32_t                field_id; 
    11621153 
    1163         if(p7_message->serialization == WI_P7_BINARY) { 
    1164                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
    1165                         return false; 
    1166                  
    1167                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    1168                 wi_write_swap_host_to_big_int64(binary, 4, value); 
    1169                  
    1170                 return true; 
    1171         } 
    1172          
    1173         return false; 
     1154        WI_ASSERT(p7_message->serialization == WI_P7_BINARY, "Message is not editable"); 
     1155         
     1156        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
     1157                return false; 
     1158         
     1159        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     1160        wi_write_swap_host_to_big_int64(binary, 4, value); 
     1161         
     1162        return true; 
    11741163} 
    11751164 
     
    12051194        uint32_t                field_size, field_id; 
    12061195         
     1196        WI_ASSERT(p7_message->serialization == WI_P7_BINARY, "Message is not editable"); 
     1197         
    12071198        if(!string) 
    12081199                string = WI_STR(""); 
    12091200         
    1210         if(p7_message->serialization == WI_P7_BINARY) { 
    1211                 field_size = wi_string_length(string) + 1; 
    1212                  
    1213                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, field_size, &binary, &field_id)) 
    1214                         return false; 
    1215                  
    1216                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    1217                 wi_write_swap_host_to_big_int32(binary, 4, field_size); 
    1218                  
    1219                 memcpy(binary + 8, wi_string_cstring(string), field_size); 
    1220                  
    1221                 return true; 
    1222         } 
    1223                  
    1224         return false; 
     1201        field_size = wi_string_length(string) + 1; 
     1202         
     1203        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, field_size, &binary, &field_id)) 
     1204                return false; 
     1205         
     1206        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     1207        wi_write_swap_host_to_big_int32(binary, 4, field_size); 
     1208         
     1209        memcpy(binary + 8, wi_string_cstring(string), field_size); 
     1210         
     1211        return true; 
    12251212} 
    12261213 
     
    12531240        uint32_t                field_size, field_id; 
    12541241         
     1242        WI_ASSERT(p7_message->serialization == WI_P7_BINARY, "Message is not editable"); 
     1243         
    12551244        if(!data) 
    12561245                data = wi_data(); 
    12571246         
    1258         if(p7_message->serialization == WI_P7_BINARY) { 
    1259                 field_size = wi_data_length(data); 
    1260                  
    1261                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, field_size, &binary, &field_id)) 
    1262                         return false; 
    1263                  
    1264                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    1265                 wi_write_swap_host_to_big_int32(binary, 4, field_size); 
    1266                  
    1267                 memcpy(binary + 8, wi_data_bytes(data), field_size); 
    1268                  
    1269                 return true; 
    1270         } 
    1271                  
    1272         return false; 
     1247        field_size = wi_data_length(data); 
     1248         
     1249        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, field_size, &binary, &field_id)) 
     1250                return false; 
     1251         
     1252        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     1253        wi_write_swap_host_to_big_int32(binary, 4, field_size); 
     1254         
     1255        memcpy(binary + 8, wi_data_bytes(data), field_size); 
     1256         
     1257        return true; 
    12731258} 
    12741259 
     
    13751360        uint32_t                field_id; 
    13761361         
     1362        WI_ASSERT(p7_message->serialization == WI_P7_BINARY, "Message is not editable"); 
     1363         
    13771364        if(!uuid) 
    13781365                return false; 
    13791366         
    1380         if(p7_message->serialization == WI_P7_BINARY) { 
    1381                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
    1382                         return false; 
    1383                  
    1384                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    1385                  
    1386                 wi_uuid_get_bytes(uuid, binary + 4); 
    1387                  
    1388                 return true; 
    1389         } 
    1390          
    1391         return false; 
     1367        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
     1368                return false; 
     1369         
     1370        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     1371         
     1372        wi_uuid_get_bytes(uuid, binary + 4); 
     1373         
     1374        return true; 
    13921375} 
    13931376 
     
    14221405        uint32_t                field_id, field_size; 
    14231406         
     1407        WI_ASSERT(p7_message->serialization == WI_P7_BINARY, "Message is not editable"); 
     1408         
    14241409        if(!date) 
    14251410                date = wi_date(); 
    14261411         
    14271412        string = wi_date_iso8601_string(date); 
    1428          
    1429         if(p7_message->serialization == WI_P7_BINARY) { 
    1430                 field_size = wi_string_length(string) + 1; 
    1431                  
    1432                 if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
    1433                         return false; 
    1434                  
    1435                 wi_write_swap_host_to_big_int32(binary, 0, field_id); 
    1436                  
    1437                 memcpy(binary + 4, wi_string_cstring(string), field_size); 
    1438                  
    1439                 return true; 
    1440         } 
    1441          
    1442         return false; 
     1413        field_size = wi_string_length(string) + 1; 
     1414         
     1415        if(!_wi_p7_message_get_binary_buffer_for_writing_for_name(p7_message, field_name, 0, &binary, &field_id)) 
     1416                return false; 
     1417         
     1418        wi_write_swap_host_to_big_int32(binary, 0, field_id); 
     1419         
     1420        memcpy(binary + 4, wi_string_cstring(string), field_size); 
     1421         
     1422        return true; 
    14431423} 
    14441424