#1124027 fread(3): contains "extra" parameters "size_t size, size_t n;"

#1124027#5
Date:
2025-12-26 14:45:57 UTC
From:
To:
Dear Maintainer,

"man fread" says:

SYNOPSIS
       #include <stdio.h>

       size_t fread(size_t size, size_t n;
                    void ptr[restrict size * n],
                    size_t size, size_t n,
                    FILE *restrict stream);
       size_t fwrite(size_t size, size_t n;
                    const void ptr[restrict size * n],
                    size_t size, size_t n,
                    FILE *restrict stream);

I don't know why we have the extra "size_t size, size_t n;" as the first
parameters to fread(3) and fwrite(3).
The first parameter should be "ptr".


This change has been introduced (in Debian) by this commit:

commit f5cd239fba3b54434c43370f7b1e1a2b59a737bb
Author: Dr. Tobias Quathamer <toddy@debian.org>
Date:   Fri Oct 3 20:12:37 2025 +0200

    New upstream version 6.15

[...]

 .B #include <stdio.h>
 .P
-.BI "size_t fread(void " ptr "[restrict ." size " * ." nmemb ],
-.BI "             size_t " size ", size_t " nmemb ,
+.BR "size_t fread(" "size_t size, size_t n;"
+.BI "             void " ptr "[restrict " size " * " n ],
+.BI "             size_t " size ", size_t " n ,
 .BI "             FILE *restrict " stream );
-.BI "size_t fwrite(const void " ptr "[restrict ." size " * ." nmemb ],
-.BI "             size_t " size ", size_t " nmemb ,
+.BR "size_t fwrite(" "size_t size, size_t n;"
+.BI "             const void " ptr "[restrict " size " * " n ],
+.BI "             size_t " size ", size_t " n ,
 .BI "             FILE *restrict " stream );
 .fi

[...]

Thanks