<commit_before>
{"malloc", malloc},
{"valloc", valloc},
{"realloc", realloc},
{"calloc", calloc},
{"free", free},
{"strdup", strdup},

{"open", open},
{"openat", openat},
{"read", read},
{"write", write},
{"writev", writev},
{"lseek", lseek},
{"select", select},
{"close", close},

// must wrap because:
// - Android's 'struct stat' is incompatible with glibc's
// - bionic's *stat* may call errno and corrupt glibc's state
{"stat", my_stat},
{"fstat", my_fstat},
{"lstat", my_lstat},
{"fstatat", my_fstatat},

// struct dirent is also incompatible
{"opendir", opendir},
{"fdopendir", fdopendir},
{"readdir", my_readdir},
{"readdir_r", my_readdir_r},
{"closedir", closedir},
{"rewinddir", rewinddir},
{"dirfd", dirfd},

{"printf", printf},
{"sprintf", sprintf},
{"snprintf", my_snprintf},
{"vsnprintf", my_vsnprintf},

{"fopen", my_fopen},
{"fdopen", fdopen},
{"freopen", freopen},
{"fflush", my_fflush},
{"fclose", my_fclose},
{"fcntl", fcntl},
{"fprintf", my_fprintf},
{"vprintf", vprintf},
{"vfprintf", my_vfprintf},
{"fputc", fputc},
{"fputs", fputs},
{"fgets", fgets},
{"fgetpos", fgetpos},
{"fsetpos", fsetpos},
{"fscanf", fscanf},
//{"sscanf", sscanf},
{"fseek", fseek},
{"fileno", fileno},
{"fsync", fsync},
{"ftell", ftell},
{"fread", fread},
{"fwrite", fwrite},
{"puts", puts},
{"putc", putc},
{"putchar", putchar},
{"getc", putc},
{"ungetc", ungetc},
{"tmpfile", tmpfile},
{"setvbuf", setvbuf},
{"ftello", ftello},
{"fseeko", fseeko},
{"ferror", ferror},

{"setenv", setenv},
{"sysconf", sysconf},

{"getaddrinfo", getaddrinfo},
{"freeaddrinfo", freeaddrinfo},

{"gmtime", gmtime},
{"localtime", localtime},
{"localtime_r", localtime_r},
{"mktime", mktime},
{"strftime", strftime},
{"wcsftime", wcsftime},

{"setlocale", setlocale},

{"getenv", my_getenv},
{"geteuid", geteuid},
{"getpid", getpid},
{"geteuid", geteuid},

{"clearerr", clearerr},

{"ioctl", ioctl},
{"mmap", mmap},
{"munmap", munmap},
{"poll", poll},

{"mkdir", mkdir},
{"chmod", chmod},
{"umask", umask},
{"clearerr", clearerr},
{"remove", my_remove},
{"rename", my_rename},

{"accept", accept},
{"listen", listen},
{"alarm", alarm},
{"atoi", atoi},<commit_msg>hook rewind, rm clearerr duplicate<commit_after>
{"malloc", malloc},
{"valloc", valloc},
{"realloc", realloc},
{"calloc", calloc},
{"free", free},
{"strdup", strdup},

{"open", open},
{"openat", openat},
{"read", read},
{"write", write},
{"writev", writev},
{"lseek", lseek},
{"select", select},
{"close", close},

// must wrap because:
// - Android's 'struct stat' is incompatible with glibc's
// - bionic's *stat* may call errno and corrupt glibc's state
{"stat", my_stat},
{"fstat", my_fstat},
{"lstat", my_lstat},
{"fstatat", my_fstatat},

// struct dirent is also incompatible
{"opendir", opendir},
{"fdopendir", fdopendir},
{"readdir", my_readdir},
{"readdir_r", my_readdir_r},
{"closedir", closedir},
{"rewinddir", rewinddir},
{"dirfd", dirfd},

{"printf", printf},
{"sprintf", sprintf},
{"snprintf", my_snprintf},
{"vsnprintf", my_vsnprintf},

{"fopen", my_fopen},
{"fdopen", fdopen},
{"freopen", freopen},
{"fflush", my_fflush},
{"fclose", my_fclose},
{"fcntl", fcntl},
{"fprintf", my_fprintf},
{"vprintf", vprintf},
{"vfprintf", my_vfprintf},
{"fputc", fputc},
{"fputs", fputs},
{"fgets", fgets},
{"fgetpos", fgetpos},
{"fsetpos", fsetpos},
{"fscanf", fscanf},
//{"sscanf", sscanf},
{"fseek", fseek},
{"fileno", fileno},
{"fsync", fsync},
{"ftell", ftell},
{"fread", fread},
{"fwrite", fwrite},
{"puts", puts},
{"putc", putc},
{"putchar", putchar},
{"getc", putc},
{"ungetc", ungetc},
{"tmpfile", tmpfile},
{"setvbuf", setvbuf},
{"ftello", ftello},
{"fseeko", fseeko},
{"ferror", ferror},
{"rewind", rewind},

{"setenv", setenv},
{"sysconf", sysconf},

{"getaddrinfo", getaddrinfo},
{"freeaddrinfo", freeaddrinfo},

{"gmtime", gmtime},
{"localtime", localtime},
{"localtime_r", localtime_r},
{"mktime", mktime},
{"strftime", strftime},
{"wcsftime", wcsftime},

{"setlocale", setlocale},

{"getenv", my_getenv},
{"geteuid", geteuid},
{"getpid", getpid},
{"geteuid", geteuid},

{"clearerr", clearerr},

{"ioctl", ioctl},
{"mmap", mmap},
{"munmap", munmap},
{"poll", poll},

{"mkdir", mkdir},
{"chmod", chmod},
{"umask", umask},
{"remove", my_remove},
{"rename", my_rename},

{"accept", accept},
{"listen", listen},
{"alarm", alarm},
{"atoi", atoi},
{'fraction_non_alphanumeric': 0.2656577415599534, 'fraction_numerical': 0.0, 'mean_word_length': 7.9313929313929314, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3702842', 'n_tokens_mistral': 1738, 'n_tokens_neox': 1726, 'n_words': 417}