Mon, 22 Aug 2022 21:40:04 -0500
Inline pidgin_make_scrollable
We need to change it for GTK4, and there are few enough that it can be inlined. Eventually, that code might be a `.ui` anyway.
Testing Done:
Compile only.
Reviewed at https://reviews.imfreedom.org/r/1615/
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZSendPacket function. * * Created by: Robert French * * Copyright (c) 1987,1991 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ #include <purple.h> #include "internal.h" #ifdef WIN32 #include <winsock.h> #else #include <sys/socket.h> #endif static int wait_for_hmack(ZNotice_t *notice, void *uid); Code_t ZSendPacket(char *packet, int len, int waitforack) { GError *error = NULL; Code_t retval; ZNotice_t notice, acknotice; if (packet == NULL || len < 0) { return ZERR_ILLVAL; } if (len > Z_MAXPKTLEN) { return ZERR_PKTLEN; } if (ZGetSocket() == NULL) { retval = ZOpenPort(NULL); if (retval != ZERR_NONE) { return retval; } } if (g_socket_send_to(ZGetSocket(), ZGetDestAddr(), packet, len, NULL, &error) < 0) { purple_debug_error("zephyr", "Failed to send packet of size %d: %s", len, error->message); g_error_free(error); return ZERR_INTERNAL; } if (!waitforack) { return ZERR_NONE; } if ((retval = ZParseNotice(packet, len, ¬ice)) != ZERR_NONE) { return retval; } retval = Z_WaitForNotice(&acknotice, wait_for_hmack, ¬ice.z_uid, HM_TIMEOUT); if (retval == ETIMEDOUT) { return ZERR_HMDEAD; } if (retval == ZERR_NONE) { ZFreeNotice(&acknotice); } return retval; } static int wait_for_hmack(ZNotice_t *notice, void *uid) { return (notice->z_kind == HMACK && ZCompareUID(¬ice->z_uid, (ZUnique_Id_t *)uid)); }