Просмотр исходного кода

remove type-punned pointer warning

(Logical change 1.98)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@358 fd59a12c-fef9-0310-b244-a6a79926bd2f
Steven Dake 21 лет назад
Родитель
Сommit
ea09155b39
1 измененных файлов с 12 добавлено и 3 удалено
  1. 12 3
      exec/gmi.c

+ 12 - 3
exec/gmi.c

@@ -1382,6 +1382,7 @@ int orf_token_remcast (int seqid) {
 	struct gmi_rtr_item *gmi_rtr_item;
 	struct gmi_rtr_item *gmi_rtr_item;
 	int res;
 	int res;
 	struct mcast *mcast;
 	struct mcast *mcast;
+	void *ptr;
 
 
 #ifdef DEBUG
 #ifdef DEBUG
 printf ("remulticasting %d\n", seqid);
 printf ("remulticasting %d\n", seqid);
@@ -1389,10 +1390,12 @@ printf ("remulticasting %d\n", seqid);
 	/*
 	/*
 	 * Get RTR item at seqid, if not available, return
 	 * Get RTR item at seqid, if not available, return
 	 */
 	 */
-	res = sq_item_get (&queue_rtr_items, seqid, (void **)&gmi_rtr_item);
+	res = sq_item_get (&queue_rtr_items, seqid, &ptr);
 	if (res != 0) {
 	if (res != 0) {
 		return -1;
 		return -1;
 	}
 	}
+	gmi_rtr_item = ptr;
+
 	mcast = (struct mcast *)gmi_rtr_item->iovec[0].iov_base;
 	mcast = (struct mcast *)gmi_rtr_item->iovec[0].iov_base;
 
 
 	encrypt_and_sign (gmi_rtr_item->iovec, gmi_rtr_item->iov_len);
 	encrypt_and_sign (gmi_rtr_item->iovec, gmi_rtr_item->iov_len);
@@ -1464,8 +1467,10 @@ static int messages_free (int group_arut)
 	 * Release retransmit list items if group arut indicates they are transmitted
 	 * Release retransmit list items if group arut indicates they are transmitted
 	 */
 	 */
 	for (i = last_released; i <= lesser; i++) {
 	for (i = last_released; i <= lesser; i++) {
-		res = sq_item_get (&queue_rtr_items, i, (void **)&gmi_rtr_item_p);
+		void *ptr;
+		res = sq_item_get (&queue_rtr_items, i, &ptr);
 		if (res == 0) {
 		if (res == 0) {
+			gmi_rtr_item_p = ptr;
 			release_reftwo_iovec (gmi_rtr_item_p->reftwo,
 			release_reftwo_iovec (gmi_rtr_item_p->reftwo,
 				gmi_rtr_item_p->iovec,
 				gmi_rtr_item_p->iovec,
 				gmi_rtr_item_p->iov_len);
 				gmi_rtr_item_p->iov_len);
@@ -3469,13 +3474,17 @@ static void pending_queues_deliver (void)
 	 * Deliver messages in order from rtr queue to pending delivery queue
 	 * Deliver messages in order from rtr queue to pending delivery queue
 	 */
 	 */
 	for (i = gmi_arut + 1; i <= gmi_highest_seq; i++) {
 	for (i = gmi_arut + 1; i <= gmi_highest_seq; i++) {
-		res = sq_item_get (&queue_rtr_items, i, (void **)&gmi_rtr_item_p);
+		void *ptr;
+
+		res = sq_item_get (&queue_rtr_items, i, &ptr);
 		/*
 		/*
 		 * If hole, stop assembly
 		 * If hole, stop assembly
 		 */
 		 */
 		if (res != 0) {
 		if (res != 0) {
 			break;
 			break;
 		}
 		}
+		gmi_rtr_item_p = ptr;
+
 		assert (gmi_rtr_item_p->iovec[0].iov_len < MESSAGE_SIZE_MAX);
 		assert (gmi_rtr_item_p->iovec[0].iov_len < MESSAGE_SIZE_MAX);
 		mcast = gmi_rtr_item_p->iovec[0].iov_base;
 		mcast = gmi_rtr_item_p->iovec[0].iov_base;
 		if (mcast == (struct mcast *)0xdeadbeef) {
 		if (mcast == (struct mcast *)0xdeadbeef) {