| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2023-02-05 | Many pages: Use \[en] instead of \(en | Alejandro Colomar | 6 | -32/+32 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-02-05 | Many pages: Use \[aq] instead of \(aq | Alejandro Colomar | 112 | -325/+325 | |
| This improves readability in the source code, since it delimits where the escape sequence ends. Cc: наб <nabijaczleweli@nabijaczleweli.xyz> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Brian Inglis <Brian.Inglis@Shaw.ca> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-02-05 | Many pages: Use lowercase for 'glibc' | Alejandro Colomar | 159 | -246/+246 | |
| It's a proper noun, whose original letter case should be respected. glibc's own documentation uses always lowercase; let's do the same here. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-02-05 | sscanf.3: BUGS: Document the UB in some conversion specifiers | Alejandro Colomar | 1 | -0/+19 | |
| This is a bug in the standards, but implementation should not follow the standard in this case. Link: <https://lore.kernel.org/linux-man/20221208123454.13132-1-abbotti@mev.co.uk/T/#u> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Zack Weinberg <zack@owlfolio.org> Cc: Joseph Myers <joseph@codesourcery.com> Cc: Eric Biggers <ebiggers@kernel.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-02-05 | regex.3: tfix | Alejandro Colomar | 1 | -1/+1 | |
| Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Mario Blaettermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-26 | fopencookie.3: EXAMPLES: Fix memory leak | Alejandro Colomar | 1 | -0/+2 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-26 | getdate.3: EXAMPLES: Fix printf() conversion specifier | Alejandro Colomar | 1 | -1/+1 | |
| Fixes: b42296e4 "Various pages: EXAMPLES: Use unsigned types for loop iterators" Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-26 | pthread_setschedparam.3: EXAMPLES: Don't assign unused value | Alejandro Colomar | 1 | -1/+1 | |
| We're not reading the value after it's set. And I just checked that that function can't fail for reasonable input. Reported-by: cppcheck(1) Reported-by: `make lint-c-cppcheck` Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-26 | tsearch.3: EXAMPLES: Don't else after noreturn | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-26 | stpncpy.3: EXAMPLES: tfix | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-26 | rpmatch.3: EXAMPLES: Use _DEFAULT_SOURCE instead of _SVID_SOURCE | Alejandro Colomar | 1 | -1/+1 | |
| _SVID_SOURCE is deprecated. Show how a program should be written today. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-26 | static_assert.3: srcfix | Alejandro Colomar | 1 | -0/+1 | |
| Add missing ." SRC END comment. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-26 | Various pages: EXAMPLES: Fix -Wdeclaration-after-statement errors | Alejandro Colomar | 2 | -4/+5 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-22 | string.3: wfix | Alejandro Colomar | 1 | -2/+2 | |
| Use consistent syntax for 'dest' vs 'dst' in string(3). Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: Mario Blaettermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-19 | getnameinfo.3: SYNOPSIS: Add missing _Nullable qualifiers | Alejandro Colomar | 1 | -2/+4 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-19 | roundup.3: New page documenting roundup(3) | Alejandro Colomar | 1 | -0/+56 | |
| Cc: Paul Eggert <eggert@cs.ucla.edu> Cc: Wilco Dijkstra <Wilco.Dijkstra@arm.com> Cc: Adhemerval Zanella <adhemerval.zanella@linaro.org> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-07 | intro.3: ffix | G. Branden Robinson | 1 | -1/+3 | |
| Set "feature test macros" in italics when introducing it as a technical term. Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-07 | intro.3: srcfix | G. Branden Robinson | 1 | -15/+27 | |
| * Break input lines at phrase boundaries more often. * Break input lines after commas. * Set multi-word parentheticals on their own input lines. Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-07 | Many pages: TH: Use lowercase | Alejandro Colomar | 29 | -29/+29 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-07 | bcmp.3, memcmp.3, strcasecmp.3, strcmp.3, strcoll.3, strxfrm.3: Deprecate ↵ | Alejandro Colomar | 6 | -59/+6 | |
| bcmp(3) It is identical to memcmp(3). Use that. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-05 | arc4random.3: Raise the severity of the CAVEATS to BUGS | Alejandro Colomar | 1 | -2/+2 | |
| This is a misdesign that the original OpenBSD developers fail to acknowledge. Link: <https://inbox.sourceware.org/libc-alpha/068b01c4-d0c4-0849-eabb-09c020a1480b@gmail.com/T/> Cc: "Jason A. Donenfeld" <Jason@zx2c4.com> Cc: Arsen Arsenović <arsen@aarsen.me> Cc: Sam James <sam@gentoo.org> Cc: "Serge E. Hallyn" <serge@hallyn.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-05 | memchr.3: Deprecate rawmemchr(3) | Alejandro Colomar | 1 | -16/+12 | |
| It is not optimized, and it calls either strlen(3) or memchr(3), so the caller can do it directly, and it will be better. Suggested-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-05 | index.3, memchr.3, strchr.3, string.3, strpbrk.3, strsep.3, strspn.3, ↵ | Alejandro Colomar | 9 | -73/+16 | |
| strstr.3, strtok.3: Deprecate index(3) and rindex(3) They are identical to strchr(3) and strrchr(3). Use those. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-02 | intro.3: tfix | G. Branden Robinson | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-02 | arc4random.3: Be consistent in uses of pseudorandom | Alejandro Colomar | 1 | -5/+5 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-01 | arc4random_buf.3, arc4random_uniform.3: Add links to arc4random(3) | Alejandro Colomar | 2 | -0/+2 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2023-01-01 | arc4random.3: New page documenting the arc4random(3) family of functions | Alejandro Colomar | 1 | -0/+104 | |
| arc4random(3) arc4random_uniform(3) arc4random_buf(3) Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-31 | powerof2.3: New page documenting powerof2(3) | Alejandro Colomar | 1 | -0/+46 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-31 | bstring.3: bcopy(3)'s replacement is memmove(3), not memcpy(3) | Alejandro Colomar | 1 | -1/+1 | |
| Reported-by: Aaron Peter Bachmann <aaron_ng@inode.at> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-31 | bstring.3: bzero(3) is not deprecated in my book | Alejandro Colomar | 1 | -6/+4 | |
| It is technically superior to memset(3) in every way. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-30 | rand.3: SYNOPSIS: Mark rand_r() as deprecated | Alejandro Colomar | 1 | -1/+2 | |
| POSIX.1-2008 says so, and it's not a very useful function either. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-29 | memchr.3: The function always returns a pointer to the match | Alejandro Colomar | 1 | -2/+1 | |
| Otherwise, it means we're deep into UB lands, and there be dragons. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-29 | rand.3: EXAMPLES: Show how to get a random seed | Alejandro Colomar | 1 | -0/+8 | |
| This is useful when testing many different cases, but repeatability is more important than quality of the random numbers. Cc: Jonny Grant <jg@jguk.org> Cc: Cristian Rodríguez <crrodriguez@opensuse.org> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-29 | Many pages: Remove references to C89 | Alejandro Colomar | 85 | -132/+87 | |
| C89 is obsolete, and programs should target newer standards. If someone needs information about is, the Standard itself is a better resource. Let's move forward, so readers get the intended notice that C89 is not a useful version of C. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-29 | scanf.3, sscanf.3, vsscanf.3: Split the page, one for strings and one for FILEs | Alejandro Colomar | 3 | -665/+756 | |
| From these functions, the ones that read from a FILE* are very difficult --if not impossible-- to use correctly. Let's split the page into two, so that we give the impression that sscanf(3) is the first class citizen, and the others are just historic artifacts that are kept for backwards-compatibility reasons. FILE* variants are now in a page which clearly tells the reader to look for other ways to read input. Link: <https://lore.kernel.org/linux-man/633629bd-753c-3097-9896-2491a0b0f1a2@gmail.com/T/> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Zack Weinberg <zack@owlfolio.org> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-21 | strncat.3: EXAMPLES: Check the return of malloc(3) | Alejandro Colomar | 1 | -0/+3 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-21 | strcpy.3: EXAMPLES: Check the return of malloc(3) | Alejandro Colomar | 1 | -0/+5 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-20 | strncat.3: Rewrite to be consistent with string_copying.7 | Alejandro Colomar | 1 | -100/+57 | |
| Cc: Martin Sebor <msebor@redhat.com> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Cc: Jakub Wilk <jwilk@jwilk.net> Cc: Serge Hallyn <serge@hallyn.com> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: Andrew Pinski <pinskia@gmail.com> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-20 | stpncpy.3, strncpy.3: Document in a single page | Alejandro Colomar | 2 | -194/+102 | |
| Rewrite to be consistent with the new string_copying.7 page. Cc: Martin Sebor <msebor@redhat.com> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Cc: Jakub Wilk <jwilk@jwilk.net> Cc: Serge Hallyn <serge@hallyn.com> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: Andrew Pinski <pinskia@gmail.com> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-20 | stpcpy.3, strcpy.3, strcat.3: Document in a single page | Alejandro Colomar | 3 | -360/+152 | |
| Rewrite to be consistent with the new string_copying.7 page. Cc: Martin Sebor <msebor@redhat.com> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Cc: Jakub Wilk <jwilk@jwilk.net> Cc: Serge Hallyn <serge@hallyn.com> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: Andrew Pinski <pinskia@gmail.com> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-20 | stpecpy.3, stpecpyx.3, ustpcpy.3, ustr2stp.3, zustr2stp.3, zustr2ustp.3: Add ↵ | Alejandro Colomar | 6 | -0/+6 | |
| new links to string_copying(7) Cc: Martin Sebor <msebor@redhat.com> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Cc: Jakub Wilk <jwilk@jwilk.net> Cc: Serge Hallyn <serge@hallyn.com> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: Andrew Pinski <pinskia@gmail.com> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-15 | Many pages: Add '\" t' comment where necessary | Alejandro Colomar | 518 | -0/+518 | |
| Scripted change: $ grep -l -x '^[.]TS$' man*/* | sort -u | xargs sed -i -e "1i'\\\\\" t" Link: <https://lore.kernel.org/linux-man/07a7d4e7-79a6-b2c3-6892-1e39a0679f27@gmail.com/T/#mcf36c8a387fd5ff4f800dc220e3dbdd229b556bd> Reported-by: Jakub Wilk <jwilk@jwilk.net> Cc: Mike Frysinger <vapier@gentoo.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Michael Kerrisk <mtk.manpages@gmail.com> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-12 | scanf.3: Do not mention the ERANGE error | Ian Abbott | 1 | -7/+0 | |
| The `scanf()` function does not intentionally set `errno` to `ERANGE`. That is just a side effect of the code that it uses to perform conversions. It also does not work as reliably as indicated in the 'man' page when the target integer type is narrower than `long`. Typically (at least in glibc) for target integer types narrower than `long`, the number has to exceed the range of `long` (for signed conversions) or `unsigned long` (for unsigned conversions) for `errno` to be set to `ERANGE`. Documenting `ERANGE` in the ERRORS section kind of implies that `scanf()` should return `EOF` when an integer overflow is encountered, which it doesn't (and doing so would violate the C standard). Just remove any mention of the `ERANGE` error to avoid confusion. Fixes: 646af540e467 ("Add an ERRORS section documenting at least some of the errors that may occur for scanf().") Link: <https://lore.kernel.org/linux-man/5af4f708-337f-fddf-9a2d-e0e4602d3a72@mev.co.uk/T/#m900a1b1741afefab008a69e6b76919cd94aa81ef> Cc: Michael Kerrisk <mtk.manpages@gmail.com> Cc: Zack Weinberg <zack@owlfolio.org> Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-12 | scanf.3: Deprecate unsafe conversion specifiers | Alejandro Colomar | 1 | -0/+11 | |
| Use of numeric conversion specifiers can produce Undefined Behvaior under conditions that the program doesn't control; therefore, there's no way to use them safely. Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Zack Weinberg <zack@owlfolio.org> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-12 | intro.3: Document subsections of man3 | Alejandro Colomar | 1 | -0/+31 | |
| Cowritten-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-11 | shm_open.3: tfix | Alejandro Colomar | 1 | -2/+2 | |
| Reported-by: 1092615079 <1092615079@qq.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-06 | stpncpy.3, strncpy.3: wfix | Alejandro Colomar | 2 | -4/+4 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-06 | strncat.3: Overrunning the dest buffer is not that bad | Alejandro Colomar | 1 | -117/+28 | |
| With the right function call, that is, one that always copies the same amount of bytes, and is so simple that can be inlined, the behavior will be consistent enough to be warned by the compiler in most cases of overrun, and crash quite consistently in the remaining. Prefer simplicity over correctness, so suggest the simpler ustr2stp(). Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-06 | string.3, strncat.3: Undeprecate strncat(3) | Alejandro Colomar | 2 | -36/+198 | |
| After some investigation, I found a case where this function is useful: Concatenating an unterminated string into a string. It's not an ideal API for that, but there's no other API that does it. The closest thing, and something that some projects use instead of strncat(3), is calling mempcpy(3) directly. However mempcpy(3) isn't ideal either (it's faster; just that). It even requires a multiline pattern to use correctly, which is a source of bugs. So, suggest using a custom alternative that needs to be defined by the programmer, which handles all the subtle details much better than any of the conventional functions: ustr2stpe(). Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-06 | string.3, strncat.3: Fix typo in prototype of strncat(3) | Alejandro Colomar | 2 | -2/+2 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-06 | string.3: strncpy(3), strncat(3): Obsolete, and fix | Alejandro Colomar | 1 | -28/+29 | |
| The prototype for strncat(3) was wrong. Fix it. Mark the functions as obsolete. Fix the descriptions, to remove misleading text. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-06 | strncat.3: tfix | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | strncat.3: BUGS: Truncation | Alejandro Colomar | 1 | -0/+7 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | strcat.3, strncat.3: RIP strncat(3) | Alejandro Colomar | 2 | -72/+95 | |
| Never use this function. Really. Cc: <pkg-shadow-devel@alioth-lists.debian.net> Cc: <libc-alpha@sourceware.org> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | strcat.3: SYNOPSIS: Fix the size of 'dest' | Alejandro Colomar | 1 | -3/+2 | |
| I had a mistake when adding VLA syntax to this prototype. From this fixed prototype, it's visible how broken the design for this function is. Next move is to kill this function. Cc: <libc-alpha@sourceware.org> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | stpncpy.3: Clarify what this function is for | Alejandro Colomar | 1 | -34/+48 | |
| Use concise wording to make the points more direct. This function is rarely used for its only valid purpose. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | strncpy.3: Rename CAVEATS to BUGS | Alejandro Colomar | 1 | -2/+2 | |
| Those are not caveats, but actual bugs. This function was misdesigned. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | strncpy.3: wfix | Alejandro Colomar | 1 | -1/+0 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | strncpy.3: NAME: Clarify what this function is | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | strncpy.3: SEE ALSO: Remove some references | Alejandro Colomar | 1 | -3/+0 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-05 | strncpy.3: Deprecate strncpy(3) in favor of stpncpy(3) | Alejandro Colomar | 1 | -6/+15 | |
| It is equivalent, but reports truncation. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | strncpy.3: Move description of valid use up | Alejandro Colomar | 1 | -8/+9 | |
| To make it more visible; and refer CAVEATS to still discourage its use. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | strncpy.3: CAVEATS: It can't detect truncation | Alejandro Colomar | 1 | -0/+7 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | strncpy.3: ffix | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | strncpy.3: Fix TH, and add myself to copyright | Alejandro Colomar | 1 | -2/+3 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | strcpy.3, strncpy.3: Split the page and document them separately | Alejandro Colomar | 2 | -118/+122 | |
| strncpy(3) is completely unrelated to strcpy(3). Rewrite its documentation to be more explicit about this. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | cpow.3: tfix | Alejandro Colomar | 1 | -1/+1 | |
| Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: Mario Blättermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | wcsspn.3: NAME: Fix summary-description | Alejandro Colomar | 1 | -2/+1 | |
| Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: Mario Blättermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | towctrans.3: wfix | Alejandro Colomar | 1 | -1/+1 | |
| Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: Mario Blättermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | Many pages: wfix | Alejandro Colomar | 212 | -287/+287 | |
| Refer consistently to software versions. In most cases, it is done as <software> <version>. In the case of Linux and glibc, use the project name, instead of other terms such as 'kernel' or 'library'. I found the uses of inconsistent language with the following: $ find man* -type f \ | xargs grep -i '\(since\|before\|after\|until\|to\|from\|in\|between\|version\|with\) \(kernel\|version\|2\.\|3\.\|4\.\|5\.\)' \ | sort However, I might have missed some cases. Anyway, 99% consistency is pretty good consistency. We'll fix the remaining cases as we see them. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | mq_close.3: tfix | Alejandro Colomar | 1 | -1/+1 | |
| Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: Mario Blättermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | malloc.3: ffix | Alejandro Colomar | 1 | -1/+3 | |
| Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: Mario Blättermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | iswctype.3: wfix | Alejandro Colomar | 1 | -1/+1 | |
| Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: Mario Blättermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-04 | errno.3: wfix | Alejandro Colomar | 1 | -1/+1 | |
| Reported-by: Helge Kreutzmann <debian@helgefjell.de> Cc: Mario Blättermann <mario.blaettermann@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-12-02 | _Static_assert.3, static_assert.3: Add documentation for static_assert() | Alejandro Colomar | 2 | -0/+119 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-11-28 | confstr.3: srcfix | Jakub Wilk | 1 | -1/+1 | |
| At least on Debian systems, there's no "confstr" in the info directory node, so the command "info confstr" either fails with: info: No menu item 'confstr' in node '(dir)Top' or shows you this very man page. Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-11-22 | sendfile.2, vfork.2, alloca.3, getcontext.3, tmpfs.5, ttytype.5, spufs.7: ffix | Alejandro Colomar | 2 | -3/+7 | |
| Break lines containing two man page references into a line for each. This is not only more consistent with our guidelines (man-pages(7)); it also helps prepare for the future adoption of the MR man(7) macro. Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-11-12 | _Generic.3: EXAMPLES: Add sockaddr_cast() macro | Alejandro Colomar | 1 | -1/+90 | |
| This macro is an example of how C++-style casts can be implemented in C. They are better than C's casts because they only allow certain conversions, while disallowing most. This adds considerable type safety. They also make code more greppable. A macro similar to const_cast() can also be implemented in a similar manner: /* This code is in the public domain. */ #define qual_cast(t, p) \ _Generic(typeof_unqual(&*(p)), \ typeof_unqual(t): \ _Generic(&*(p), \ const t: (t) (p), \ volatile t: (t) (p), \ const volatile t: (t) (p), \ default: (p)) \ default: \ (p) \ ) Note that typeof_unqual() is yet unsupported by GCC and Clang, and will be added to C23. Similar behavior can be achieved by combining GNU builtins. Cc: Andrew Clayton <andrew@digital-domain.net> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-11-11 | memmem.3: Add list of known systems where this is available | Andrew Clayton | 1 | -1/+4 | |
| While looking at which systems provide memmem(3) I have been able to discern the following: musl libc since v0.9.7 (2012) bionic since Android 9 (2018) FreeBSD since 6.0 (2005) OpenBSD since 5.4 (2013) NetBSD macOS Illumos For macOS and Illumos I checked the memmem(3) man page on those systems. For the rest there are links below to on-line man pages or commit logs. Where I could determine what version memmem(3) was introduced, I've noted that in the man page. Link: <http://git.musl-libc.org/cgit/musl/commit/src/string/memmem.c?id=c86f2974e2acd330be2d587173dd4dd56db82e22> Link: <https://android.googlesource.com/platform/bionic/+/android-9.0.0_r3/libc/bionic/memmem.cpp> Link: <https://www.freebsd.org/cgi/man.cgi?query=memmem&sektion=3&format=html> Link: <https://man.openbsd.org/memmem.3> Link: <https://anonhg.netbsd.org/src/diff/96a37d536271/common/lib/libc/string/memmem.c> Suggested-by: Alejandro Colomar <alx@kernel.org> Signed-off-by: Andrew Clayton <andrew@digital-domain.net> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-11-10 | Various pages: SYNOPSIS: Use VLA syntax in 'void *' function parameters | Alex Colomar | 28 | -65/+89 | |
| Use VLA syntax also for void *, even if it's a bit more weird. Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2611.htm> Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: JeanHeyd Meneide <wg14@soasis.org> Cc: Martin Uecker <uecker@tugraz.at> Cc: <gcc@gcc.gnu.org> Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-11-10 | Various pages: SYNOPSIS: Use VLA syntax in function parameters | Alejandro Colomar | 72 | -147/+186 | |
| The WG14 charter for C23 added one principle to the ones in previous standards: [ 15. Application Programming Interfaces (APIs) should be self-documenting when possible. In particular, the order of parameters in function declarations should be arranged such that the size of an array appears before the array. The purpose is to allow Variable-Length Array (VLA) notation to be used. This not only makes the code's purpose clearer to human readers, but also makes static analysis easier. Any new APIs added to the Standard should take this into consideration. ] ISO C doesn't allow using VLA syntax when the parameter used for the size of the array is declared _after_ the parameter that is a VLa. That's a minor issue that could be easily changed in the language without backwards-compatibility issues, and in fact it seems to have been proposed, and not yet discarded, even if it's not going to change in C23. Since the manual pages SYNOPSIS are not bounded by strict C legal syntax, but we already use some "tricks" to try to convey the most information to the reader even if it might not be the most legal syntax, we can also make a small compromise in this case, using illegal syntax (at least not yet legalized) to add important information to the function prototypes. If we're lucky, compiler authors, and maybe even WG14 members, may be satisfied by the syntax used in these manual pages, and may decide to implement this feature to the language. It seems to me a sound syntax that isn't ambiguous, even if it deviates from the common pattern in C that declarations _always_ come before use. But it's a reasonable tradeoff. This change will make the contract between the programmer and the implementation clearer just by reading a prototype. For example, size_t strlcpy(char *restrict dst, const char *restrict src, size_t size); vs size_t strlcpy(char dst[restrict .size], const char *restrict src, size_t size); the second prototype above makes it clear that the 'dst' buffer will be safe from overflow, but the 'src' one clearly needs to be NUL-terminated, or it might cause UB, since nothing tells the function how long it is. Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2611.htm> Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: JeanHeyd Meneide <wg14@soasis.org> Cc: Martin Uecker <uecker@tugraz.at> Cc: <gcc@gcc.gnu.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-11-10 | errno.3: srcfix | Alejandro Colomar | 1 | -3/+3 | |
| Reported-by: lint-man-groff - groff(1) Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-11-05 | Various pages: Replace noreturn by [[noreturn]] | Alejandro Colomar | 5 | -9/+9 | |
| ISO C23 will declare the noreturn macro and the _Noreturn function specifier as obsolescent features. They are replaced by the C++-compatible [[noreturn]] attribute. Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-31 | errno.3: tfix | Alejandro Colomar | 1 | -1/+1 | |
| Reported-by: Jun Ishiguro <algon.0320@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-30 | get_nprocs.3, get_nprocs_conf.3, program_invocation_name.3, sysvipc.7: Match ↵ | Alejandro Colomar | 3 | -97/+97 | |
| page title with file name and NAME section Manually tweak a few pages that weren't covered by the scripts used in the 2 previous commits. On 10/30/22 23:00, G. Branden Robinson wrote: > For those to whom this change is coming as an unpleasant surprise, the > forthcoming groff 1.23.0 features an option that will reverse this > change at rendering time. > > From groff_man(7): > > -rCT=1 Capitalize titles, setting the man page title (the first > argument to .TH) in full capitals in headers and footers. > This transformation is off by default because it discards > case distinction information. > > This register can also be set in a site-local "man.local" file to force > it on for all pages. On Debian-based systems, this file is in > /etc/groff. The following line will do the trick. > > .nr CT 1 > > The groff_man_style(7) man page offers further examples of such > rendering customization. > > /usr/local/share/groff/site-tmac/man.local > Put site‐local changes and customizations into this file. > > .\" Use narrower indentation on terminals and similar. > .if n .nr IN 4n > .\" Put only one space after the end of a sentence. > .ss 12 0 \" See groff(7). > .\" Keep pages narrow even on wide terminals. > .if n .if \n[LL]>78n .nr LL 78n > .\" Ensure hyperlinks are enabled for terminals. > .nr U 1 > > On multi‐user systems, it is more considerate to users whose > preferences may differ from the administrator’s to be less > aggressive with such settings, or to permit their override > with a user‐specific man.local file. This can be achieved by > placing one or both of following requests at the end of the > site‐local file. > .soquiet \V[XDG_CONFIG_HOME]/man.local > .soquiet \V[HOME]/.man.local > However, a security‐sandboxed man(1) program may lack > permission to open such files. Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-30 | Many pages: Use correct letter case in page titles (TH) | Alejandro Colomar | 534 | -534/+534 | |
| Scripted change: $ find man* -type f \ | xargs grep -L '\.so' \ | while read f; do P=$(basename $f); T=$(grep '\.TH ' $f | cut -f2,3 -d' ' | sed 's/ /./'); p=$(echo $P | tr '[:upper:]' '[:lower:]'); t=$(echo $T | tr '[:upper:]' '[:lower:]'); Tn=$(echo $T | sed 's/\.[^.]\+$//') Pn=$(echo $P | sed 's/\.[^.]\+$//') N=$(man_section $f NAME \ | sed -n '/NAME/,/ - /p' \ | sed 's/ - .*//' \ | grep -v '^NAME$' \ | tr ', ' '\n' \ | grep -i "^$Pn$" \ | head -n1) test $P = $T \ && test -n $N \ && continue; if test "x$p" != "x$t"; then echo 1 $P $T $N; elif test -z "$N"; then echo 2 $P $T $N; else sed -i "/\.TH /s/$Tn/$N/" $f; fi; done; On 10/30/22 23:00, G. Branden Robinson wrote: > For those to whom this change is coming as an unpleasant surprise, the > forthcoming groff 1.23.0 features an option that will reverse this > change at rendering time. > > From groff_man(7): > > -rCT=1 Capitalize titles, setting the man page title (the first > argument to .TH) in full capitals in headers and footers. > This transformation is off by default because it discards > case distinction information. > > This register can also be set in a site-local "man.local" file to force > it on for all pages. On Debian-based systems, this file is in > /etc/groff. The following line will do the trick. > > .nr CT 1 > > The groff_man_style(7) man page offers further examples of such > rendering customization. > > /usr/local/share/groff/site-tmac/man.local > Put site‐local changes and customizations into this file. > > .\" Use narrower indentation on terminals and similar. > .if n .nr IN 4n > .\" Put only one space after the end of a sentence. > .ss 12 0 \" See groff(7). > .\" Keep pages narrow even on wide terminals. > .if n .if \n[LL]>78n .nr LL 78n > .\" Ensure hyperlinks are enabled for terminals. > .nr U 1 > > On multi‐user systems, it is more considerate to users whose > preferences may differ from the administrator’s to be less > aggressive with such settings, or to permit their override > with a user‐specific man.local file. This can be achieved by > placing one or both of following requests at the end of the > site‐local file. > .soquiet \V[XDG_CONFIG_HOME]/man.local > .soquiet \V[HOME]/.man.local > However, a security‐sandboxed man(1) program may lack > permission to open such files. Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-30 | FILE.3type: Move page to correct subsection | Alejandro Colomar | 1 | -34/+0 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-30 | Change alx's email address | Alejandro Colomar | 8 | -8/+8 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-29 | Many pages: Use a consistent style for lists | Alejandro Colomar | 49 | -152/+152 | |
| There are different kinds of lists: Tagged paragraphs These are fixed in a separate commit (the previous one). They are used for a list of tags and their descriptions. An example is this commit message itself. Ordered lists Elements are preceeded by a number in parentheses. These represent a set of steps that have an order. When there are substeps, they will be numbered like (4.2). Positional lists Elements are preceeded by a number in square brackets (index). These represent fields in a set. The index will start at: 0 fields of a C data structure, to be consistent with arrays. 1 fields of a file, to be consistent with tools like cut(1). Alternatives list Elements are preceeded by a letter in parentheses. These represent a set of (normally) exclusive alternatives. Bullet lists Elements are preceeded by bullet symbols. Anything that doesn't fit elsewhere usually is covered by this type of list. Notes Not really a list, but the syntax is identical to "positional lists". There should always be 2 spaces between the list symbol and the elements. This doesn't apply to "tagged paragraphs", which use the default indentation rules. Reported-by: Mike Frysinger <vapier@gentoo.org> Cc: <groff@gnu.org> Acked-by: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-29 | Many pages: Use .TP for tagged paragraphs | Alejandro Colomar | 8 | -60/+81 | |
| Reported-by: Mike Frysinger <vapier@gentoo.org> Cc: <groff@gnu.org> Acked-by: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-18 | ferror.3: CAVEATS: Need to get EOF before calling these functions | Alejandro Colomar | 1 | -0/+14 | |
| Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-09 | dist.mk, All pages: .TH: Generate date at 'make dist' | Alejandro Colomar | 581 | -581/+581 | |
| Replace the date by a placeholder (date) in the repo, as we're doing with the version (unreleased). It will be filled when the tarball is generated with 'make dist' (or equivalent) with the date of the most recent git commit that modifies the page (as was done previously by update_timestamps.sh, which has been removed). Scripted change (mostly): $ find man* -type f \ | xargs sed -Ei '/^\.TH /s/.TH +([^ ]+ +[^ ]+) +[^ ]+ +(.*)/.TH \1 (date) \2/' Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-09 | getent.1, iconv.1, intro.1, ldd.1, locale.1, localedef.1, memusage.1, ↵ | Alejandro Colomar | 581 | -581/+581 | |
| memusagestat.1, mtrace.1, pldd.1, sprof.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, add_key.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, bpf.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, close_range.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, execveat.2, exit_group.2, fallocate.2, fanotify_init.2, fanotify_mark.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_mempolicy.2, get_robust_list.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getrandom.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_console.2, ioctl_fat.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, ioctl_fslabel.2, ioctl_getfsmap.2, ioctl_iflags.2, ioctl_ns.2, ioctl_tty.2, ioctl_userfaultfd.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kexec_load.2, keyctl.2, kill.2, landlock_add_rule.2, landlock_create_ruleset.2, landlock_restrict_self.2, link.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, mbind.2, membarrier.2, memfd_create.2, memfd_secret.2, migrate_pages.2, mincore.2, mkdir.2, mknod.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, mount_setattr.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, open_by_handle_at.2, openat2.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pidfd_getfd.2, pidfd_open.2, pidfd_send_signal.2, pipe.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_madvise.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readv.2, reboot.2, recv.2, recvmmsg.2, remap_file_pages.2, removexattr.2, rename.2, request_key.2, restart_syscall.2, rmdir.2, rt_sigqueueinfo.2, s390_guarded_storage.2, s390_pci_mmio_write.2, s390_runtime_instr.2, s390_sthyi.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, seccomp.2, seccomp_unotify.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, sendmmsg.2, set_mempolicy.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setns.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, spu_create.2, spu_run.2, stat.2, statfs.2, statx.2, stime.2, subpage_prot.2, swapon.2, symlink.2, sync.2, sync_file_range.2, syscall.2, syscalls.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unshare.2, uselib.2, userfaultfd.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, open_how.2type, CPU_SET.3, FILE.3, INFINITY.3, MAX.3, MB_CUR_MAX.3, MB_LEN_MAX.3, _Generic.3, __ppc_get_timebase.3, __ppc_set_ppr_med.3, __ppc_yield.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_init.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, bswap.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cexp.3, cexp2.3, cfree.3, cimag.3, circleq.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dladdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3, drand48.3, drand48_r.3, duplocale.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetc.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, fileno.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fopencookie.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getentropy.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getsubopt.3, getttyent.3, getusershell.3, getutent.3, getutmp.3, getw.3, getwchar.3, glob.3, gnu_get_libc_version.3, grantpt.3, group_member.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_net_pton.3, inet_ntop.3, inet_pton.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isfdtype.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, killpg.3, ldexp.3, lgamma.3, lio_listio.3, list.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_hook.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, newlocale.3, nextafter.3, nextup.3, nl_langinfo.3, ntp_gettime.3, offsetof.3, on_exit.3, open_memstream.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_atfork.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setsigmask_np.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_mutex_consistent.3, pthread_mutexattr_getpshared.3, pthread_mutexattr_init.3, pthread_mutexattr_setrobust.3, pthread_rwlockattr_setkind_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_spin_init.3, pthread_spin_lock.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, readdir_r.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scanf.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sincos.3, sinh.3, sleep.3, slist.3, sockatmark.3, sqrt.3, stailq.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfromd.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tailq.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, undocumented.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, uselocale.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, NULL.3const, sysexits.h.3head, aiocb.3type, blkcnt_t.3type, blksize_t.3type, cc_t.3type, clock_t.3type, clockid_t.3type, dev_t.3type, div_t.3type, double_t.3type, epoll_event.3type, fenv_t.3type, id_t.3type, intN_t.3type, intmax_t.3type, intptr_t.3type, iovec.3type, itimerspec.3type, lconv.3type, mode_t.3type, off_t.3type, ptrdiff_t.3type, regex_t.3type, size_t.3type, sockaddr.3type, stat.3type, time_t.3type, timer_t.3type, timespec.3type, timeval.3type, tm.3type, va_list.3type, void.3type, cciss.4, console_codes.4, cpuid.4, dsp56k.4, fd.4, full.4, fuse.4, hd.4, hpsa.4, initrd.4, intro.4, lirc.4, loop.4, lp.4, mem.4, mouse.4, msr.4, null.4, pts.4, ram.4, random.4, rtc.4, sd.4, sk98lin.4, smartpqi.4, st.4, tty.4, ttyS.4, vcs.4, veth.4, wavelan.4, acct.5, charmap.5, core.5, dir_colors.5, elf.5, filesystems.5, ftpusers.5, gai.conf.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, nss.5, nsswitch.conf.5, passwd.5, proc.5, protocols.5, repertoiremap.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, slabinfo.5, sysfs.5, termcap.5, tmpfs.5, ttytype.5, tzfile.5, utmp.5, intro.6, address_families.7, aio.7, armscii-8.7, arp.7, ascii.7, attributes.7, boot.7, bootparam.7, bpf-helpers.7, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, complex.7, cp1251.7, cp1252.7, cpuset.7, credentials.7, ddp.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, fifo.7, futex.7, glob.7, hier.7, hostname.7, icmp.7, inode.7, inotify.7, intro.7, ip.7, ipc_namespaces.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, kernel_lockdown.7, keyrings.7, koi8-r.7, koi8-u.7, landlock.7, libc.7, locale.7, mailaddr.7, man-pages.7, man.7, math_error.7, mount_namespaces.7, mq_overview.7, namespaces.7, netdevice.7, netlink.7, network_namespaces.7, nptl.7, numa.7, operator.7, packet.7, path_resolution.7, persistent-keyring.7, pid_namespaces.7, pipe.7, pkeys.7, posixoptions.7, process-keyring.7, pthreads.7, pty.7, queue.7, random.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sched.7, sem_overview.7, session-keyring.7, shm_overview.7, sigevent.7, signal-safety.7, signal.7, sock_diag.7, socket.7, spufs.7, standards.7, suffixes.7, symlink.7, system_data_types.7, sysvipc.7, tcp.7, termio.7, thread-keyring.7, time.7, time_namespaces.7, udp.7, udplite.7, unicode.7, units.7, unix.7, uri.7, user-keyring.7, user-session-keyring.7, user_namespaces.7, utf-8.7, uts_namespaces.7, vdso.7, vsock.7, x25.7, xattr.7, iconvconfig.8, intro.8, ld.so.8, ldconfig.8, nscd.8, sln.8, tzselect.8: tstamp Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-10-08 | memfd_create.2, mlock.2, poll.2, select.2, fopen.3, capabilities.7: tfix | Štěpán Němec | 1 | -1/+1 | |
| Signed-off-by: Štěpán Němec <stepnem@smrk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org> | |||||
| 2022-09-18 | wcsnlen.3: Fix off-by-one error | Alex Colomar | 1 | -1/+1 | |
| Same change as in 45323bbef7fb06eec3fa210ee6c1651bbc57c38d. Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-18 | inet_net_pton.3: tfix | Alex Colomar | 1 | -1/+1 | |
| Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-15 | Various pages: EXAMPLES: Remove unused variables | Alex Colomar | 5 | -5/+5 | |
| Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-15 | Various pages: EXAMPLES: Use unsigned types for loop iterators | Alex Colomar | 30 | -68/+70 | |
| Looping with unsigned types is safer. See the link below. When the iterators are used for accessing an array, use size_t; otherwise, use the most appropriate unsigned type, which in most cases is just 'unsigned int'. Also adjust other variables that have to interact with the iterators, to avoid comparison of integers of different signedness. Link: <https://gustedt.wordpress.com/2013/07/15/a-praise-of-size_t-and-other-unsigned-types/> Cc: Jens Gustedt <jens.gustedt@inria.fr> Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-15 | envz_add.3: EXAMPLES: Fix type of variable | Alex Colomar | 1 | -2/+2 | |
| Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-15 | printf.3: SYNOPSIS: Remove incorrect header | Alex Colomar | 1 | -2/+0 | |
| Reported-by: Sam James <sam@gentoo.org> Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-13 | __ppc_get_timebase.3, if_nameindex.3, rtime.3: EXAMPLES: wsfix | Alex Colomar | 3 | -4/+4 | |
| Reported-by: cpplint(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-13 | setbuf.3: Don't build example program | Alex Colomar | 1 | -1/+1 | |
| The example program is invalid on purpose; don't build it. Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-13 | Various pages: EXAMPLES: Remove unused variables | Alex Colomar | 2 | -2/+2 | |
| Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-13 | Various pages: EXAMPLES: Use <err.h> functions | Alex Colomar | 7 | -70/+54 | |
| When reporting errors, prefer using conventional <err.h> functions, rather than home-made macros. Home-made macros are necessary for portable programs, so in documentation about portable functions, keep using the macros. However, in the documentation for functions that are only available in GNU/Linux and/or BSD systems, prefer <err.h>, which is available in both systems. Do the same in example programs documenting portable functions but in which we already require _GNU_SOURCE for some other reason. Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-13 | __ppc_get_timebase.3, __ppc_yield.3: Remove incorrect text | Alex Colomar | 2 | -2/+0 | |
| This was accidentally introduced in a scripted change. Fixes: 45186a5da74285d72199744eb5d2888fe348f680 Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | Various pages: EXAMPLES: Remove unused variables | Alex Colomar | 13 | -14/+14 | |
| Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | matherr.3: EXAMPLES: Can't build program | Alex Colomar | 1 | -1/+1 | |
| The documented functions don't exist anymore. Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | getsubopt.3: EXAMPLES: Fix indentation | Alex Colomar | 1 | -29/+31 | |
| Fixes: 645259f4357baa3b3931ae24c79648baa155ebdf Fixes: 35facf001e3682c0bafbdd139d8cfc6a8cb2a301 Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | getpwent_r.3: EXAMPLES: Add missing include | Alex Colomar | 1 | -0/+1 | |
| Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | fopencookie.3: EXAMPLES: Remove 'else' after 'return' | Alex Colomar | 1 | -5/+3 | |
| Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | encrypt.3: SYNOPSIS: Mark functions as [[deprecated]] | Alex Colomar | 1 | -6/+6 | |
| These functions don't exist anymore. Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | Various pages: EXAMPLES: Sort includes | Alex Colomar | 65 | -108/+117 | |
| Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | pthread_setschedparam.3: EXAMPLES: Remove trailing semicolon in macro definition | Alex Colomar | 1 | -1/+1 | |
| Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | mq_getattr.3: EXAMPLES: Octal permissions are more readable | Alex Colomar | 1 | -1/+1 | |
| Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | Various pages: EXAMPLES: Use %s __func__ | Alex Colomar | 4 | -17/+18 | |
| Instead of hardcoding the function name. Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | Various pages: EXAMPLES: Fix alignment | Alex Colomar | 21 | -95/+98 | |
| In some cases, add braces, for readability. Link: <https://nginx.org/en/docs/dev/development_guide.html#code_style> Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | Various pages: EXAMPLES: Separate variable declarations from the function body | Alex Colomar | 11 | -32/+50 | |
| Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | rtime.3: EXAMPLES: Optimize | Alex Colomar | 1 | -1/+1 | |
| Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | bsearch.3: EXAMPLES: Use ARRAY_SIZE() | Alex Colomar | 1 | -4/+4 | |
| This is more generic code, and hopefully, it will inspire other to use such a pattern. Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | bsearch.3: EXAMPLES: Separate struct and variable definitions | Alex Colomar | 1 | -3/+5 | |
| Separate struct definition from variable definition. Also use 'static' and 'const' when possible. Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-12 | _Generic.3: EXAMPLES: Allow taking a pointer to &my_imaxabs | Alex Colomar | 1 | -4/+7 | |
| And show the pointer value in the example, and show also those of &labs and &llabs to compare. Cc: JeanHeyd Meneide <wg14@soasis.org> Cc: Florian Weimer <fweimer@redhat.com> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.org> Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-10 | Many pages: EXAMPLES: Add wrapper comments SRC BEGIN and SRC END | Alejandro Colomar | 99 | -3/+209 | |
| This is used by the Makefile to extract the example program. Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-09 | Revert "src.mk, All pages: Move man* to man/" | Alejandro Colomar | 1664 | -0/+97802 | |
| This reverts commit 70ac1c4785fc1e158ab2349a962dba2526bf4fbc. Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/> Reported-by: Petr Vorel <pvorel@suse.cz> Reported-by: Jakub Wilk <jwilk@jwilk.net> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alex Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | src.mk, All pages: Move man* to man/ | Alejandro Colomar | 1664 | -97802/+0 | |
| The root of the repository is becoming a bit overpopulated and unorganized, due to the recent addition of more mandirs, and more informative and configuration files too. Let's create a specific mandir <man/> that contains the mandirs <man[1-8]*>. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | getpw.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| This function is insecure. Use getpwuid(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | matherr.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -2/+2 | |
| This is no longer supported by glibc. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | __setfpucw.3: SYNOPSIS: Mark __setfpucw() as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| The function doesn't exist anymore. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | ftw.3: SYNOPSIS: Mark ftw() as [[deprecated]] | Alejandro Colomar | 1 | -0/+1 | |
| Use nftw(3) instead. ftw(3) has issues with [sig]longjmp(3). Link: <https://stackoverflow.com/q/19617783/6872717> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | ulimit.3: SYNOPSIS: Mark ulimit() as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | ecvt.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -4/+4 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | ecvt_r.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -10/+12 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | qecvt.3: SYNOPSIS: Mark q*cvt() as [[deprecated]] | Alejandro Colomar | 1 | -7/+5 | |
| Use snprintf(3) instead. Most Unix systems lack these functions. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | ctime.3: SYNOPSIS: Use VLA notation for [as]ctime_r() buffer | Alejandro Colomar | 1 | -2/+4 | |
| As N2417 (a proposal for C2x that was not accepted) suggests. This syntax is very informative, and also, if used by library implementers, can improve static analysis. Since it is backwards compatible with pointer syntax, we can do this. Also, the reason for not being accepted, as Jens noted, was incompatibility with C++. But IMO, that's not something that we should care too much. Users of other languages should know what to expect when reading C code, and are expected to know C/C++ incompatibilities. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Jens Gustedt <jens.gustedt@loria.fr> Cc: Glibc <libc-alpha@sourceware.org> | |||||
| 2022-09-05 | getpass.3: SYNOPSIS: Mark getpass() as [[deprecated]] | Alejandro Colomar | 1 | -2/+7 | |
| Suggest readpassphrase(3bsd) as an alternative. Some implementations of getpass(3) may suffer from the same issues that gets(3) suffers and some more. See the long discussion in the mailing list for more details (link at the bottom of this commit message). I'll quote some relevant parts here: Eugene Syromyatnikov <evgsyr@gmail.com>: { And the only mention of getpass() in POSIX (at least, since the 2001's edition) indeed seems to be [1], in the list of functions that have not been carried forward from XSH5, the 1997 revision of “System Interfaces and Headers” (that is, SUSv2)[2], where it is inherited from SUSv1[4] from XPG[5] and, as Alejandro already mentioned, marked as obsolete, per XPG3 to XPG4 migration guide[6]; the previous, 1988, version of POSIX[3] does not mention getpass() at all. [1] https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap01.html [2] https://pubs.opengroup.org/onlinepubs/7908799/xsh/getpass.html [3] https://mirror.math.princeton.edu/pub/oldlinux/download/c953.pdf [4] https://pubs.opengroup.org/onlinepubs/9695969499/toc.pdf [5] https://bitsavers.computerhistory.org/pdf/xOpen/X_Open_Portability_Guide_1985/xpg_2_xopen_system_v_specification_2.pdf [6] http://archive.opengroup.org/publications/archive/CDROM/g501.pdf } Theo de Raadt <deraadt@openbsd.org>: { The community finally had the balls to get rid of gets(3). getpass(3) shares the same flaw, that the buffer size isn't passed. This has been an issue in the past, and incorrectly led to readpassphrase(3). readpassphrase(3) has a few too many features/extensions for my taste, but at least it is harder to abuse. } Alejandro Colomar <alx.manpages@gmail.com>: { I found readpassphrase(3) in FreeBSD and OpenBSD. It is also present in libbsd(7), which is available in most Linux distributions. I also found it on a Mac that I have access. NetBSD has getpass_r(3) instead. It is not in any other system I have access. } Zack Weinberg <zack@owlfolio.org>: { I was about to post exactly the same thing. getpass(3) is not deprecated because there's a better replacement, it's deprecated because it's _unsafe_. The glibc implementation wraps getline(3) and therefore doesn't truncate the passphrase or overflow a fixed-size buffer, no matter how long the input is, but portable code cannot rely on that. And come to think of it, using getline(3) means that prefixes of the passphrase may be left lying around in malloc's free lists. (getpass also cannot be made thread safe, due to recycling of a static buffer, but a program in which multiple threads are racing to prompt the user for passwords would be a UX disaster anyway, so I don't think that's a critical flaw the way it is for e.g. strtok(3).) The Linux manpage project's documentation is, as I understand it, for Linux with glibc _first_, but not _only_; it should not describe this function as not-deprecated just because glibc has patched its worst problems and doesn't offer any better API. } List: <https://lore.kernel.org/linux-man/6d8642e9-71f7-4a83-9791-880d04f67d17@www.fastmail.com/T/#t> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Git <git@vger.kernel.org> Cc: Glibc <libc-alpha@sourceware.org> Cc: OpenBSD <tech@openbsd.org> Cc: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Cc: Benoit Lecocq <benoit@openbsd.org> Cc: Klemens Nanni <kn@openbsd.org> Cc: Randall <rsbecker@nexbridge.com> Cc: Eugene Syromyatnikov <evgsyr@gmail.com> Cc: Theo de Raadt <deraadt@openbsd.org> Cc: Zack Weinberg <zack@owlfolio.org> Cc: Florian Weimer <libc-alpha@sourceware.org> | |||||
| 2022-09-05 | gsignal.3: SYNOPSIS: Mark [gs]signal() as [[deprecated]] | Alejandro Colomar | 1 | -2/+2 | |
| They are obsolete in other systems, and broken in glibc. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | re_comp.3: SYNOPSIS: Mark these functions as [[deprecated]] | Alejandro Colomar | 1 | -2/+2 | |
| They are MT unsafe, and replaced by the MT-safe POSIX regex(3) functions. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | rexec.3: SYNOPSIS: Mark rexec*() as [[deprecated]] | Alejandro Colomar | 1 | -0/+3 | |
| They are insecure, and replaced by rcmd(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | toascii.3: SYNOPSIS: Mark toascii() as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| It cannot be used portably in a localized application. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | scalb.3: SYNOPSIS: Mark these functions as [[deprecated]] | Alejandro Colomar | 1 | -3/+3 | |
| Use scalbn(3) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | getcwd.3: SYNOPSIS: Use VLA notation for getwd()'s argument | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | gethostbyname.3: Move non-deprecated functions to the top | Alejandro Colomar | 1 | -15/+15 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | gethostbyname.3: SYNOPSIS: Mark several symbols as [[deprecated]] | Alejandro Colomar | 1 | -6/+10 | |
| *hostent*() are the only ones that are not deprecated, AFAICS. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | bcmp.3: SYNOPSIS: Mark bcmp() as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| Use memcmp(3) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | gets.3: SYNOPSIS: Mark gets() as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | resolver.3: SYNOPSIS: Use [[deprecated]] instead of a 'Deprecated' subsection | Alejandro Colomar | 1 | -6/+8 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | perror.3: SYNOPSIS: Mark sys_errlist[] and sys_nerr as [[deprecated]] | Alejandro Colomar | 1 | -2/+3 | |
| They are no longer exposed by glibc. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | getcwd.3: SYNOPSIS: Mark getwd() as [[deprecated]] | Alejandro Colomar | 1 | -1/+2 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | strsignal.3: SYNOPSIS: Mark sys_siglist[] as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | inet.3: SYNOPSIS: Mark inet_ntoa() as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| See inet_ntop(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | strcpy.3: SYNOPSIS: Add missing 'restrict' | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | pthread_mutexattr_setrobust.3: SYNOPSIS: Mark *_np() old functions as ↵ | Alejandro Colomar | 1 | -0/+2 | |
| [[deprecated]] Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | readdir_r.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -2/+3 | |
| Glibc: dirent/dirent.h:183: extern int readdir_r (DIR *__restrict __dirp, struct dirent *__restrict __entry, struct dirent **__restrict __result) __nonnull ((1, 2, 3)) __attribute_deprecated__; Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | pthread_yield.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| sched_yield(3) is identical and is in POSIX. See glibc commit c2fd60a5861efef48252f5cc7efc70e1d8a0da9a. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | getipnodebyname.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -5/+6 | |
| These functions are not anymore in glibc. All other systems call them deprecated. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | gamma.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -3/+3 | |
| These functions are misleading, and in some systems mean a different thing (tgamma(3) vs lgamma(3)). Never use gamma(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | bcopy.3: SYNOPSIS: Mark as [[deprecated]] | Alejandro Colomar | 1 | -1/+1 | |
| memmove(3) completely replaces bcopy(3), being an almost identical function, except for the different order in the arguments. memmove(3) is part of ISO C and POSIX. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-09-05 | pthread_mutex_consistent.3: Mark *_np() old function as [[deprecated]] | Alejandro Colomar | 1 | -0/+1 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-30 | termios.3: mention the integer types in SEE ALSO | наб | 1 | -0/+3 | |
| Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-26 | pthread_setname_np.3: Rename 'len' to 'size' | Alejandro Colomar | 1 | -3/+3 | |
| The parameter doesn't represent a string length (strlen(3)), but a buffer size (sizeof()). Use a more proper name. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-25 | confstr.3: Rename 'len' to 'size' | Alejandro Colomar | 1 | -6/+6 | |
| The parameter doesn't represent a string length (strlen(3)), but a buffer size (sizeof()). Use a more proper name. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-25 | Various pages: Fit rendered pages in 80 columns | Alejandro Colomar | 2 | -4/+4 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-25 | wcswidth.3, wcwidth.3, veth.4: Fix accidents in .TH | Alejandro Colomar | 2 | -2/+2 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-24 | _Generic.3: EXAMPLES: Use a constant expression | Alejandro Colomar | 1 | -4/+4 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-21 | _Generic.3: intmax_t can't be int | Alejandro Colomar | 1 | -1/+0 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-21 | All pages: Remove the 5th argument to .TH | Alejandro Colomar | 580 | -581/+581 | |
| Now that we have the LIBRARY section, and a 4th argument that already tells that it's a page from the Linux man-pages project, the 5th argument isn't telling any information that the default value wouldn't. So let's just remove it. Scripted change: $ find man* -type f \ | xargs sed -Ei '/^.TH /s/(.TH +[^ ]+ +[^ ]+ +[^ ]+ +"[^"]+") .*/\1/' Acked-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.de> Cc: Michael Kerrisk <mtk.manpages@gmail.com> | |||||
| 2022-08-21 | All pages: Replace the 4th argument to .TH by "Linux man-pages (unreleased)" | Alejandro Colomar | 580 | -580/+580 | |
| On 8/20/22 13:57, Alejandro Colomar wrote: > On 8/20/22 07:43, G. Branden Robinson wrote: >> >> In my opinion it would benefit readers of the Linux man-pages if the >> fourth argument to `TH` were what it is in many other man pages: an >> identifier for the name and version number of the release originating >> them. In every page it would be clear what version of the man-pages was >> being viewed. Little sophistication would be demanded of the user to >> check the Web to determine the relative age of the pages, independently >> of the modification date of the particular page. Such usage would be >> congruent with the argument's purpose in AT&T and BSD Unix, where this >> datum was "7th Edition", "System III", or "4.2 Berkeley Distribution", >> or similar. > > I thought about it in the past... That field was the only thing that > said where a function came from. If we removed GNU (or something else), > how would someone know where does the function or whatever comes from?? > > I guess that's also why the colophon was appended to the pages by > Michael. Since we couldn't use the 4th field for that, we had to have a > COLOPHON section. > > However, the addition of the LIBRARY section seems to fix this issue, > and so now we have an even more precise way to determine where a given > function comes from (including the library file name, and the linker > option). > > This gives me another argument for those who don't like to have a > LIBRARY section for libc stuff (since -lc is unnecessary), and consider > it noise. > >> >> Further, as the libc-related man pages in this project expand coverage >> to other libcs than GNU's, the alternatives to the empty string >> proferred in man-pages(7) seem less and less appropriate. > > Agree. LIBRARY seems much more appropriate for that purpose. > > And this helps remove the COLOPHON section (or at least, we don't need > to autogenerate it, since the version number now comes in .TH, and the > COLOPHON is static; so I can even move it to a smaller REPORTING BUGS > section). Scripted change: $ find man* -type f \ |xargs sed -Ei '/^.TH /s/(.TH +[^ ]+ +[^ ]+ +[^ ]+) +"[^"]*"/\1 "Linux man-pages (unreleased)"/' $ find man* -type f \ |xargs sed -Ei '/^.TH /s/(.TH +[^ ]+ +[^ ]+ +[^ ]+) +[^" ]+/\1 "Linux man-pages (unreleased)"/' $ git restore man5/tzfile.5 $ git restore man8/zdump.8 $ git restore man8/zic.8 $ git restore man7/bpf-helpers.7 Link: <https://lore.kernel.org/linux-man/20220819180323.dbsgxh5qvcjabjm6@jwilk.net/T/#u> Reported-by: Jakub Wilk <jwilk@jwilk.net> Reported-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.de> Cc: Michael Kerrisk <mtk.manpages@gmail.com> | |||||
| 2022-08-21 | _Generic.3: New page documenting _Generic() | Alejandro Colomar | 1 | -0/+60 | |
| Also add a hint of how intmax(3) and other functions using [u]intmax_t types could be better defined by ISO C, by requiring that they're implemented as type-generic macros, to avoid having problems with the ABI. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: JeanHeyd Meneide <wg14@soasis.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.de> | |||||
| 2022-08-15 | getaddrinfo_a.3: actually gnu.cz => gnu.org | наб | 1 | -2/+2 | |
| Fixes: a2feb3e14f51a0e74daeb6f0217887ca31799967 ("getaddrinfo_a.3: gnu.cz => gnu.org") Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-15 | getaddrinfo_a.3: {ftp.us => mirrors}.kernel.org, likewise for IP | наб | 1 | -6/+6 | |
| Make the address consistent between 128.30.2.36 (some address in MIT space) and 139.178.88.99 (valid, current) ftp.us.kernel.org EAI_NONAMEs: turn it into mirrors.kernel.org, because the new text uses 139.178.88.99 which is mirrors.kernel.org Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-15 | getaddrinfo_a.3: gnu.cz => gnu.org | наб | 1 | -4/+4 | |
| gnu.cz exists at a different address (but is unreachable there), and the address we had is an unassigned coolhousing one Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-15 | getline.3: wfix. | enh | 1 | -0/+5 | |
| Clarify in the RETURN VALUE section that it's necessary to free the buffer, since at least one person missed this up at the start of the DESCRIPTION. Signed-off-by: Elliott Hughes <enh@google.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-15 | getline.3: srcfix. | enh | 1 | -8/+8 | |
| Signed-off-by: Elliott Hughes <enh@google.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-02 | argz_add.3: srcfix | Alejandro Colomar | 1 | -1/+1 | |
| mandoc: man3/argz_add.3:20:77: STYLE: unterminated quoted argument Reported-by: 'make lint-man' Reported-by: mandoc(1) Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-02 | getgrent_r.3, psignal.3: ffix | Alejandro Colomar | 2 | -0/+4 | |
| Reported-by: 'make lint-man' Reported-by: groff(1) Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-01 | __setfpucw.3: ffix | Alejandro Colomar | 1 | -3/+10 | |
| an.tmac:man3/__setfpucw.3:58: style: 5 leading space(s) on input line an.tmac:man3/__setfpucw.3:59: style: 5 leading space(s) on input line an.tmac:man3/__setfpucw.3:60: style: 5 leading space(s) on input line Reported-by: 'make lint-man' Reported-by: groff(1) Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-01 | __setfpucw.3: pfix | Alejandro Colomar | 1 | -3/+3 | |
| \- is unnecessary here. As a list enumerator, any character is good. Simplify. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-08-01 | byteorder.3: STANDARDS: Simplify | Alejandro Colomar | 1 | -5/+0 | |
| No current systems require the inclusion of <netinet/in.h> anymore. POSIX.1-2001 has been around for more than 20 years, so let's simplify. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-29 | Many pages: Use STANDARDS instead of CONFORMING TO | Alejandro Colomar | 563 | -564/+564 | |
| STANDARDS seems to be much more extended than CONFORMING TO. For consistency across the whole manual pages corpus, let's try to unify, by following the most commonly used section name. On 7/27/22 12:49, Ingo Schwarze wrote: > Alejandro Colomar wrote on Tue, Jul 26, 2022 at 02:02:56PM +0200: > > We use CONFORMING TO in Linux. Don't know why; just history, I guess. > > See man-pages(7). > > Weird. > > I failed to find a single instance of "CONFORMING TO" in AT&T UNIX > (including v6, PWB, v7, 32v, v8, v10, System III, SVR1, SVR2) nor in > any version of UCB CSRG BSD. So considering that System V and BSD are > widely considered the two main original branches of the development > of Unix-like operating systems and Linux is often considered to have > drawn inspiration from both, the section name "CONFORMING TO" does > not appear to be a UNIX thing. For example, Aeleen Frisch, "Essential > System Administration", O'Reilly, Cambridge 1995, considers Linux > as slightly more influenced by 4.3BSD than by System V Release 3. > > STANDARDS, on the other hand, is present since 4.3BSD-Reno (June 1990). > > 4.3BSD-Reno predates the first version of the Linux kernel by more than > a year, and the first Linux manual pages probably for longer than that. > > So i have no idea where "CONFORMING TO" may have come from. Scripted change: $ find man* -type f | xargs sed -i 's/CONFORMING TO/STANDARDS/' plus a few manual fixes to the following files: - man2/getrlimit.2 - man3/syslog.3 - scripts/bash_aliases Reported-by: Ingo Schwarze <schwarze@openbsd.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-26 | strsignal.3: fix str(d)abbrev typo | наб | 1 | -2/+2 | |
| Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-21 | Many pages: Use man3type/ and man2type/ for type pages | Alejandro Colomar | 72 | -2005/+0 | |
| Quoting Ingo: [ The mandoc(1) program is also able to handle paths like "man3/id_t.3type". It will consider that page to be *both* in section "3" (as specified by the directory name) and in section "3type" (as specified by the file name and by the .TH macro). I would consider it better style to keep section names consistent, i.e. to use either "man3/id_t.3" .TH id_t 3 or "man3type/id_t.3type" .TH id_t 3type, but it's not a big deal: since many systems (in particular various Linux distros) suffer from such inconsistencies, handling such inconsistencies gracefully is an important feature that certainly won't get removed. ] Let's be nice, and do things right here, in the hope that others may follow the example. === Most of this patch has been scripted: $ mkdir man2type man3type $ find man2 | grep type$ | while read f; do mv -t man2type $f; done $ find man3 | grep type$ | while read f; do mv -t man3type $f; done $ grep -rl man3/.*type man* | xargs sed -i 's,man3/,man3type/,' Apart from that, I adapted the Makefiles, and moved va_list into the man3type subsection (it was accidentally placed in the main 3 section). Link: <https://lore.kernel.org/linux-man/YrB66rgFZqryrmpt@asta-kit.de/T/#u> Reported-by: Ingo Schwarze <schwarze@usta.de> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-21 | timespec.3type, system_data_types.7: Move timespec to a separate page | Alejandro Colomar | 1 | -1/+74 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-21 | timeval.3type, system_data_types.7: Move timeval to a separate page | Alejandro Colomar | 1 | -1/+41 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-21 | va_list.3, system_data_types.7: Move va_list to a separate page | Alejandro Colomar | 1 | -1/+43 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-21 | void.3, void.3type, system_data_types.7: Move void* to a separate page | Alejandro Colomar | 2 | -1/+76 | |
| Also fix the page to be in man3type, not in man3. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-21 | suseconds_t.3type, time_t.3type, useconds_t.3type, system_data_types.7: Move ↵ | Alejandro Colomar | 3 | -3/+115 | |
| time_t, suseconds_t, and useconds_t to a separate page Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-20 | ptrdiff_t.3type, size_t.3type, ssize_t.3type: Merge size_t and ssize_t into ↵ | Alejandro Colomar | 3 | -93/+90 | |
| a single page Since ssize_t is just the signed version of size_t, it makes sense to document them together. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-20 | ptrdiff_t.3type, system_data_types.7: Move ptrdiff_t to a separate page | Alejandro Colomar | 1 | -1/+48 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-20 | size_t.3type, system_data_types.7: Move size_t to a separate page | Alejandro Colomar | 1 | -1/+106 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-20 | id_t.3type: wfix | Alejandro Colomar | 1 | -1/+1 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-20 | loff_t.3type, off64_t.3type, off_t.3type, system_data_types.7: Move off_t ↵ | Alejandro Colomar | 3 | -2/+92 | |
| and off64_t to separate page, and document loff_t Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-20 | strftime.3, strftime_l.3: mention strftime_l() with .so link | наб | 2 | -1/+26 | |
| POSIX.1-2008 TC2: > [CX] The strftime_l() function shall be equivalent to the strftime() function, except that the locale data used is from the locale represented by locale. > [CX] The behavior is undefined if the locale argument to strftime_l() is the special locale object LC_GLOBAL_LOCALE or is not a valid locale object handle. Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-20 | ctime.3: remove struct tm vestigia | наб | 1 | -15/+0 | |
| struct tm now lives in tm.3type, and we describe both of these fields, in detail and correctly, therein Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-20 | tm.3type: describe tm_zone, tm_gmtoff | наб | 1 | -0/+51 | |
| FreeBSD timezone(3) is V7 char *timezone(int zone, int dst), our documentation would imply it's impossible to service this type of system portably Indeed, glibc defines them both, and they make more sense for most use-cases than trying to use the globals glibc cited for __USE_MISC, tm_zone invalidation is Debian 2.33-7 POSIX cited for XSI marking is Issue 7 TC2 CSRG CD #2 contains 4.3BSD-Tahoe with both members We currently ship an outdated (and factually misleading) version of this description in ctime.3 Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-19 | tm.3type: srcfix | Alejandro Colomar | 1 | -1/+2 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-19 | tm.3type: widen member alignment to take up to const char * | наб | 1 | -9/+9 | |
| This lets us take const char *tm_zone. Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-19 | tm.3type: align ranges | наб | 1 | -6/+6 | |
| This, to me, makes these much more readable Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-19 | printf.3: Note about thousands grouping and the C locale | Dr. Jürgen Sauermann | 1 | -0/+5 | |
| Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-19 | tm.3type: tm_year is year minus 1900, not since | наб | 1 | -1/+1 | |
| Since only makes sense if the year represented is after 1900: how many years have passed since 1900 in... 1410? Also \fB the constant like elsewhere in the hunk Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-19 | tm.3type: tfix | наб | 1 | -1/+1 | |
| Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
| 2022-07-05 | fts.3: tfix | наб | 1 | -2/+2 | |
| statp -> fts_statp Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> | |||||
