avoid duping polls

This commit is contained in:
biglyderv 2025-04-03 13:46:08 -04:00
parent f55db7a7fd
commit bab758e93f
Signed by: biglyderv
GPG key ID: 0E2EB0B4CD7397B5

View file

@ -80,7 +80,7 @@ int inv_handler(const void *key, size_t size, uintptr_t val, void *usr) {
if (val2[strlen(val2) - 1] == '\n') { if (val2[strlen(val2) - 1] == '\n') {
printf("- user:%s suggested %s", key3, val2); printf("- user:%s suggested %s", key3, val2);
} else { } else {
printf("- user:%s suggested %s\n", key3, val2); printf("- user:%s suggested %s\n", key3, val2);
} }
free(key3); free(key3);
@ -103,21 +103,28 @@ int inv_handler(const void *key, size_t size, uintptr_t val, void *usr) {
int polls_handler(const void *key, size_t size, uintptr_t val, void *usr) { int polls_handler(const void *key, size_t size, uintptr_t val, void *usr) {
struct verifier *verified = (struct verifier *)usr; struct verifier *verified = (struct verifier *)usr;
if (((char *)val)[strlen(((char *)val)) - 1] == '\n') { char *val2 = (char *)val;
((char *)val)[strlen(((char *)val)) - 1] = '\0'; char *val3 = malloc(strlen(val2) + 1);
strcpy(val3, val2);
if (val3[strlen(val3) - 1] == '\n') {
val3[strlen(val3) - 1] = '\0';
} }
if (strncmp(verified->name, key, strlen(verified->name)) == 0 && if (strncmp(verified->name, key, strlen(verified->name)) == 0 &&
strcmp(verified->sugg, (char *)val) == 0) strcmp(verified->sugg, val3) == 0) {
free(val3);
return -1; return -1;
}
free(val3);
return 0; return 0;
} }
int success_handler(const void *key, size_t size, uintptr_t val, void *usr) { int success_handler(const void *key, size_t size, uintptr_t val, void *usr) {
struct succ *verified = (struct succ *)usr; struct succ *verified = (struct succ *)usr;
char *val2 = (char*) val; char *val2 = (char *)val;
if ((char *)val != verified->sugg && val2[strlen(val2) - 1] == '\n') { if ((char *)val != verified->sugg && val2[strlen(val2) - 1] == '\n') {
val2[strlen(val2) - 1] = '\0'; val2[strlen(val2) - 1] = '\0';