| 26 | } |
| 27 | |
| 28 | size_t fwrite(const void *restrict src, size_t size, size_t nmemb, FILE *restrict f) |
| 29 | { |
| 30 | size_t k, l = size*nmemb; |
| 31 | if (!size) nmemb = 0; |
| 32 | FLOCK(f); |
| 33 | k = __fwritex(src, l, f); |
| 34 | FUNLOCK(f); |
| 35 | return k==l ? nmemb : k/size; |
| 36 | } |
| 37 | |
| 38 | weak_alias(fwrite, fwrite_unlocked); |