1
0
mirror of https://github.com/Tha14/toxic.git synced 2025-12-07 08:56:34 +01:00

Refactor a few complex functions

Also moved some single use functions from misc_tools to their
respective files
This commit is contained in:
jfreegman
2020-11-01 15:55:07 -05:00
parent 7560bc9547
commit e7a0c32a68
6 changed files with 136 additions and 145 deletions

View File

@@ -39,6 +39,37 @@ static struct Avatar {
off_t size;
} Avatar;
/* Compares the first size bytes of fp to signature.
*
* Returns 0 if they are the same
* Returns 1 if they differ
* Returns -1 on error.
*
* On success this function will seek back to the beginning of fp.
*/
static int check_file_signature(const unsigned char *signature, size_t size, FILE *fp)
{
char *buf = malloc(size);
if (buf == NULL) {
return -1;
}
if (fread(buf, size, 1, fp) != 1) {
free(buf);
return -1;
}
int ret = memcmp(signature, buf, size);
free(buf);
if (fseek(fp, 0L, SEEK_SET) == -1) {
return -1;
}
return ret == 0 ? 0 : 1;
}
static void avatar_clear(void)
{