1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-05 23:33:12 +02:00

Fix rejected_deletes setting in history_delete()

The former didn't make much sense:
 if (!rejected_deletes && *rejected_deletes > max_rejected_deletes)
The most simple fix would have been removing the '!' there.

However, i chose to rewrite part of the function so we only set
*rejected_deletes once, and use normal integers (not pointer to integers)
in all the preceding code. Less room for error.
This commit is contained in:
Bram Matthys
2023-07-02 10:11:01 +02:00
parent f932c21751
commit ecad4e32ec
+9 -12
View File
@@ -182,27 +182,24 @@ HistoryResult *history_request(const char *object, HistoryFilter *filter)
return NULL;
}
int history_delete(const char *object, HistoryFilter *filter, int *rejected_deletes) {
int history_delete(const char *object, HistoryFilter *filter, int *rejected_deletes)
{
HistoryBackend *hb = historybackends;
HistoryResult *r;
HistoryLogLine *l;
int deleted, max_deleted = 0, max_rejected_deletes = 0;
if (rejected_deletes)
*rejected_deletes = 0;
if (!hb)
return 0; /* no history backend loaded */
int deleted, max_deleted = 0;
int rejected, max_rejected_deletes = 0;
/* Right now we assume each backend stores either a superset or a subset of
* other backends; so the actual number of deleted lines and rejected deletes
* can simply be computed as the maximum */
for (hb = historybackends; hb; hb = hb->next) {
deleted = hb->history_delete(object, filter, rejected_deletes);
for (hb = historybackends; hb; hb = hb->next)
{
deleted = hb->history_delete(object, filter, &rejected);
if (deleted > max_deleted)
max_deleted = deleted;
if (!rejected_deletes && *rejected_deletes > max_rejected_deletes)
max_rejected_deletes = *rejected_deletes;
if (rejected > max_rejected_deletes)
max_rejected_deletes = rejected;
}
if (rejected_deletes)