summaryrefslogtreecommitdiff
path: root/src/analysis/binary.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/binary.c')
-rw-r--r--src/analysis/binary.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/analysis/binary.c b/src/analysis/binary.c
index 8c03dcf..603c519 100644
--- a/src/analysis/binary.c
+++ b/src/analysis/binary.c
@@ -1250,6 +1250,7 @@ bool _g_loaded_binary_add_to_collection(GLoadedBinary *binary, GDbItem *item, bo
GDbCollection *collec; /* Collection visée au final */
DBStorage storage; /* Forme d'enregistrement */
GDbClient *client; /* Liaison à utiliser */
+ packed_buffer out_pbuf; /* Tampon d'émission */
int fd; /* Identifiant du canal de com.*/
feature = g_db_item_get_feature(item);
@@ -1271,12 +1272,21 @@ bool _g_loaded_binary_add_to_collection(GLoadedBinary *binary, GDbItem *item, bo
client = binary->local;
+ init_packed_buffer(&out_pbuf);
+
fd = g_db_client_get_fd(client);
- result = g_db_collection_send(collec, fd, DBA_ADD_ITEM, item);
+ result = g_db_collection_pack(collec, &out_pbuf, DBA_ADD_ITEM, item);
g_db_client_put_fd(client);
+ if (result)
+ result = send_packed_buffer(&out_pbuf, fd);
+
+ exit_packed_buffer(&out_pbuf);
+
+
+
}
g_object_unref(G_OBJECT(collec));
@@ -1312,6 +1322,7 @@ bool _g_loaded_binary_remove_from_collection(GLoadedBinary *binary, DBFeatures f
GDbCollection *collec; /* Collection visée au final */
DBStorage storage; /* Forme d'enregistrement */
GDbClient *client; /* Liaison à utiliser */
+ packed_buffer out_pbuf; /* Tampon d'émission */
int fd; /* Identifiant du canal de com.*/
collec = g_loaded_binary_find_collection(binary, feature);
@@ -1331,12 +1342,21 @@ bool _g_loaded_binary_remove_from_collection(GLoadedBinary *binary, DBFeatures f
client = binary->local;
+ init_packed_buffer(&out_pbuf);
+
fd = g_db_client_get_fd(client);
- result = g_db_collection_send(collec, fd, DBA_REM_ITEM, item);
+ result = g_db_collection_pack(collec, &out_pbuf, DBA_REM_ITEM, item);
g_db_client_put_fd(client);
+ if (result)
+ result = send_packed_buffer(&out_pbuf, fd);
+
+ exit_packed_buffer(&out_pbuf);
+
+
+
}
g_object_unref(G_OBJECT(collec));