pidgin/pidgin

Use a GQueue for zephyr plus related cleanup

2020-11-25, Elliott Sales de Andrade
4266008a7791
Use a GQueue for zephyr plus related cleanup

* Make `_Z_InputQ->complete` a boolean, as that's all it's used as.
* Use GLib allocation functions for `Z_InputQ` members.
* Use a `GQueue` for zephyr input.
* Use `*_find_custom` functions for input queue search.

Testing Done:
Compile only.

Reviewed at https://reviews.imfreedom.org/r/253/
/* This file is part of the Project Athena Zephyr Notification System.
* It contains source for the ZGetLocations function.
*
* Created by: Robert French
*
* Copyright (c) 1987 by the Massachusetts Institute of Technology.
* For copying and distribution information, see the file
* "mit-copyright.h".
*/
#include "internal.h"
/* Prototype for -Wmissing-prototypes */
Code_t ZGetLocations(ZLocations_t *location, int *numlocs);
Code_t ZGetLocations(ZLocations_t *location, int *numlocs)
{
int i;
if (!__locate_list) {
return (ZERR_NOLOCATIONS);
}
if (__locate_next == __locate_num) {
return (ZERR_NOMORELOCS);
}
for (i = 0; i < MIN(*numlocs, __locate_num - __locate_next); i++) {
location[i] = __locate_list[i + __locate_next];
}
if (__locate_num - __locate_next < *numlocs) {
*numlocs = __locate_num - __locate_next;
}
__locate_next += *numlocs;
return ZERR_NONE;
}