aboutsummaryrefslogtreecommitdiffstats
path: root/man3
AgeCommit message (Collapse)AuthorFilesLines
2022-11-10Various pages: SYNOPSIS: Use VLA syntax in 'void *' function parametersAlex Colomar28-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-10Various pages: SYNOPSIS: Use VLA syntax in function parametersAlejandro Colomar72-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-10errno.3: srcfixAlejandro Colomar1-3/+3
Reported-by: lint-man-groff - groff(1) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-05Various pages: Replace noreturn by [[noreturn]]Alejandro Colomar5-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-31errno.3: tfixAlejandro Colomar1-1/+1
Reported-by: Jun Ishiguro <algon.0320@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30get_nprocs.3, get_nprocs_conf.3, program_invocation_name.3, sysvipc.7: Match ↵Alejandro Colomar3-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-30Many pages: Use correct letter case in page titles (TH)Alejandro Colomar534-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-30FILE.3type: Move page to correct subsectionAlejandro Colomar1-34/+0
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30Change alx's email addressAlejandro Colomar8-8/+8
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-29Many pages: Use a consistent style for listsAlejandro Colomar49-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-29Many pages: Use .TP for tagged paragraphsAlejandro Colomar8-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-18ferror.3: CAVEATS: Need to get EOF before calling these functionsAlejandro Colomar1-0/+14
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-09dist.mk, All pages: .TH: Generate date at 'make dist'Alejandro Colomar581-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-09getent.1, iconv.1, intro.1, ldd.1, locale.1, localedef.1, memusage.1, ↵Alejandro Colomar581-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-08memfd_create.2, mlock.2, poll.2, select.2, fopen.3, capabilities.7: tfixŠtěpán Němec1-1/+1
Signed-off-by: Štěpán Němec <stepnem@smrk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-09-18wcsnlen.3: Fix off-by-one errorAlex Colomar1-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-18inet_net_pton.3: tfixAlex Colomar1-1/+1
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15Various pages: EXAMPLES: Remove unused variablesAlex Colomar5-5/+5
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15Various pages: EXAMPLES: Use unsigned types for loop iteratorsAlex Colomar30-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-15envz_add.3: EXAMPLES: Fix type of variableAlex Colomar1-2/+2
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15printf.3: SYNOPSIS: Remove incorrect headerAlex Colomar1-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: wsfixAlex Colomar3-4/+4
Reported-by: cpplint(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13setbuf.3: Don't build example programAlex Colomar1-1/+1
The example program is invalid on purpose; don't build it. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13Various pages: EXAMPLES: Remove unused variablesAlex Colomar2-2/+2
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13Various pages: EXAMPLES: Use <err.h> functionsAlex Colomar7-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 textAlex Colomar2-2/+0
This was accidentally introduced in a scripted change. Fixes: 45186a5da74285d72199744eb5d2888fe348f680 Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Remove unused variablesAlex Colomar13-14/+14
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12matherr.3: EXAMPLES: Can't build programAlex Colomar1-1/+1
The documented functions don't exist anymore. Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12getsubopt.3: EXAMPLES: Fix indentationAlex Colomar1-29/+31
Fixes: 645259f4357baa3b3931ae24c79648baa155ebdf Fixes: 35facf001e3682c0bafbdd139d8cfc6a8cb2a301 Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12getpwent_r.3: EXAMPLES: Add missing includeAlex Colomar1-0/+1
Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12fopencookie.3: EXAMPLES: Remove 'else' after 'return'Alex Colomar1-5/+3
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12encrypt.3: SYNOPSIS: Mark functions as [[deprecated]]Alex Colomar1-6/+6
These functions don't exist anymore. Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Sort includesAlex Colomar65-108/+117
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12pthread_setschedparam.3: EXAMPLES: Remove trailing semicolon in macro definitionAlex Colomar1-1/+1
Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12mq_getattr.3: EXAMPLES: Octal permissions are more readableAlex Colomar1-1/+1
Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Use %s __func__Alex Colomar4-17/+18
Instead of hardcoding the function name. Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Fix alignmentAlex Colomar21-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-12Various pages: EXAMPLES: Separate variable declarations from the function bodyAlex Colomar11-32/+50
Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12rtime.3: EXAMPLES: OptimizeAlex Colomar1-1/+1
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12bsearch.3: EXAMPLES: Use ARRAY_SIZE()Alex Colomar1-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-12bsearch.3: EXAMPLES: Separate struct and variable definitionsAlex Colomar1-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_imaxabsAlex Colomar1-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-10Many pages: EXAMPLES: Add wrapper comments SRC BEGIN and SRC ENDAlejandro Colomar99-3/+209
This is used by the Makefile to extract the example program. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-09Revert "src.mk, All pages: Move man* to man/"Alejandro Colomar1664-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-05src.mk, All pages: Move man* to man/Alejandro Colomar1664-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-05getpw.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-1/+1
This function is insecure. Use getpwuid(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05matherr.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-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 Colomar1-1/+1
The function doesn't exist anymore. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ftw.3: SYNOPSIS: Mark ftw() as [[deprecated]]Alejandro Colomar1-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-05ulimit.3: SYNOPSIS: Mark ulimit() as [[deprecated]]Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ecvt.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-4/+4
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ecvt_r.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-10/+12
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05qecvt.3: SYNOPSIS: Mark q*cvt() as [[deprecated]]Alejandro Colomar1-7/+5
Use snprintf(3) instead. Most Unix systems lack these functions. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ctime.3: SYNOPSIS: Use VLA notation for [as]ctime_r() bufferAlejandro Colomar1-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-05getpass.3: SYNOPSIS: Mark getpass() as [[deprecated]]Alejandro Colomar1-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-05gsignal.3: SYNOPSIS: Mark [gs]signal() as [[deprecated]]Alejandro Colomar1-2/+2
They are obsolete in other systems, and broken in glibc. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05re_comp.3: SYNOPSIS: Mark these functions as [[deprecated]]Alejandro Colomar1-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-05rexec.3: SYNOPSIS: Mark rexec*() as [[deprecated]]Alejandro Colomar1-0/+3
They are insecure, and replaced by rcmd(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05toascii.3: SYNOPSIS: Mark toascii() as [[deprecated]]Alejandro Colomar1-1/+1
It cannot be used portably in a localized application. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05scalb.3: SYNOPSIS: Mark these functions as [[deprecated]]Alejandro Colomar1-3/+3
Use scalbn(3) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05getcwd.3: SYNOPSIS: Use VLA notation for getwd()'s argumentAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05gethostbyname.3: Move non-deprecated functions to the topAlejandro Colomar1-15/+15
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05gethostbyname.3: SYNOPSIS: Mark several symbols as [[deprecated]]Alejandro Colomar1-6/+10
*hostent*() are the only ones that are not deprecated, AFAICS. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05bcmp.3: SYNOPSIS: Mark bcmp() as [[deprecated]]Alejandro Colomar1-1/+1
Use memcmp(3) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05gets.3: SYNOPSIS: Mark gets() as [[deprecated]]Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05resolver.3: SYNOPSIS: Use [[deprecated]] instead of a 'Deprecated' subsectionAlejandro Colomar1-6/+8
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05perror.3: SYNOPSIS: Mark sys_errlist[] and sys_nerr as [[deprecated]]Alejandro Colomar1-2/+3
They are no longer exposed by glibc. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05getcwd.3: SYNOPSIS: Mark getwd() as [[deprecated]]Alejandro Colomar1-1/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05strsignal.3: SYNOPSIS: Mark sys_siglist[] as [[deprecated]]Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05inet.3: SYNOPSIS: Mark inet_ntoa() as [[deprecated]]Alejandro Colomar1-1/+1
See inet_ntop(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05strcpy.3: SYNOPSIS: Add missing 'restrict'Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05pthread_mutexattr_setrobust.3: SYNOPSIS: Mark *_np() old functions as ↵Alejandro Colomar1-0/+2
[[deprecated]] Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05readdir_r.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-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-05pthread_yield.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-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-05getipnodebyname.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-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-05gamma.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-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-05bcopy.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-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-05pthread_mutex_consistent.3: Mark *_np() old function as [[deprecated]]Alejandro Colomar1-0/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-30termios.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-26pthread_setname_np.3: Rename 'len' to 'size'Alejandro Colomar1-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-25confstr.3: Rename 'len' to 'size'Alejandro Colomar1-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-25Various pages: Fit rendered pages in 80 columnsAlejandro Colomar2-4/+4
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-25wcswidth.3, wcwidth.3, veth.4: Fix accidents in .THAlejandro Colomar2-2/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-24_Generic.3: EXAMPLES: Use a constant expressionAlejandro Colomar1-4/+4
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-21_Generic.3: intmax_t can't be intAlejandro Colomar1-1/+0
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-21All pages: Remove the 5th argument to .THAlejandro Colomar580-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-21All pages: Replace the 4th argument to .TH by "Linux man-pages (unreleased)"Alejandro Colomar580-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 Colomar1-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-15getaddrinfo_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-15getaddrinfo_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-15getaddrinfo_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-15getline.3: wfix.enh1-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-15getline.3: srcfix.enh1-8/+8
Signed-off-by: Elliott Hughes <enh@google.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-02argz_add.3: srcfixAlejandro Colomar1-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-02getgrent_r.3, psignal.3: ffixAlejandro Colomar2-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: ffixAlejandro Colomar1-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: pfixAlejandro Colomar1-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-01byteorder.3: STANDARDS: SimplifyAlejandro Colomar1-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-29Many pages: Use STANDARDS instead of CONFORMING TOAlejandro Colomar563-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-26strsignal.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-21Many pages: Use man3type/ and man2type/ for type pagesAlejandro Colomar72-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-21timespec.3type, system_data_types.7: Move timespec to a separate pageAlejandro Colomar1-1/+74
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-21timeval.3type, system_data_types.7: Move timeval to a separate pageAlejandro Colomar1-1/+41
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-21va_list.3, system_data_types.7: Move va_list to a separate pageAlejandro Colomar1-1/+43
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-21void.3, void.3type, system_data_types.7: Move void* to a separate pageAlejandro Colomar2-1/+76
Also fix the page to be in man3type, not in man3. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-21suseconds_t.3type, time_t.3type, useconds_t.3type, system_data_types.7: Move ↵Alejandro Colomar3-3/+115
time_t, suseconds_t, and useconds_t to a separate page Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-20ptrdiff_t.3type, size_t.3type, ssize_t.3type: Merge size_t and ssize_t into ↵Alejandro Colomar3-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-20ptrdiff_t.3type, system_data_types.7: Move ptrdiff_t to a separate pageAlejandro Colomar1-1/+48
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-20size_t.3type, system_data_types.7: Move size_t to a separate pageAlejandro Colomar1-1/+106
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-20id_t.3type: wfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-20loff_t.3type, off64_t.3type, off_t.3type, system_data_types.7: Move off_t ↵Alejandro Colomar3-2/+92
and off64_t to separate page, and document loff_t Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-20strftime.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-20ctime.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-20tm.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-19tm.3type: srcfixAlejandro Colomar1-1/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-19tm.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-19tm.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-19printf.3: Note about thousands grouping and the C localeDr. Jürgen Sauermann1-0/+5
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-19tm.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-19tm.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-05fts.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>
2022-07-05fts.3: list primary modes firstнаб1-21/+21
FTS_LOGICAL sorts before FTS_PHYSICAL, FTS_COMFOLLOW modifies FTS_PHYSICAL, the remaining flags follow in sorted order Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-05fts.3: clarify FTS_COMFOLLOW behaviourнаб1-3/+3
FTS_COMFOLLOW is equivalent to FTS_LOGICAL for fts_level == 0: define it as such Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-05fts.3: remove triplicate requirement spielнаб1-16/+0
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-05fts.3: note that lstat(2) may also provide fts_statpнаб1-7/+18
In FTS_PHYSICAL mode, it's always lstat() In FTS_LOGICAL mode, it's stat() unless it ENOENTs in which case it's lstat() In FTS_PHYSICAL | FTS_COMFOLLOW mode, it's FTS_LOGICAL for path_argv and FTS_PHYSICAL for children Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-04fts.3: wfixнаб1-2/+1
This list consistently uses "this option", force that for FTS_NOCHDIR too Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-03getdate.3: EXAMPLES: Fix comment.Alejandro Colomar1-2/+2
The comments were misplaced (interchanged). strptime(3): %a or %A The name of the day of the week according to the current locale, in abbreviated form or the full name. %T Equivalent to %H:%M:%S. %F Equivalent to %Y-%m-%d, the ISO 8601 date format. Reported-by: <pellucida@tutanota.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-03getmntent.3: wfixAlejandro Colomar1-3/+4
Reported-by: Lucien Gentis <lucien.gentis@waika9.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-07-03updwtmp.3: Add #define GNU_SOURCE for updwtmpxSam James1-0/+1
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=216168 Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-20epoll_event.3type: NAME: Add epoll_data and epoll_data_tAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-20epoll_data.3type, epoll_data_t.3type: Add links to epoll_event.3typeAlejandro Colomar2-0/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-20epoll_event.3type: Add new page documenting 'struct epoll_event'Alejandro Colomar1-0/+55
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-20aiocb.3type, lconv.3type: NAME: Remove 'struct' keywordAlejandro Colomar2-2/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-20aiocb.3type, lconv.3type: .TH: tfixAlejandro Colomar2-2/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-17ssize_t.3type: tfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-17ssize_t.3type, system_data_types.7: Move ssize_t to a separate pageAlejandro Colomar1-1/+86
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-17tm.3type: wfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-17intN_t.3type: ffixAlejandro Colomar1-3/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-17iovec.3type: Add new page documenting 'struct iovec'Alejandro Colomar1-0/+47
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-16ctime.3, strptime.3, time.7: Refer to tm(3type)Alejandro Colomar2-76/+6
Instead of repeating the documentation of tm(3type) in pages that use it, just refer to it. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-16tm.3type: Add new page documenting 'struct tm'Alejandro Colomar1-0/+59
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-06-15Many pages: Move type pages to subsection 3typeAlejandro Colomar93-55/+55
These pages are not exactly what man3 typically contains, which is library functions. Instead, types fit better in a subsection of man3, and some UNIX systems have already a section 3type, so let's use the same name. Adapt the Makefile to work with this subsection. Except for the Makefile, these changes are scripted. Scripted changes: $ find man3 -type f \ | grep '_t\.3$' \ | while read f; do mv $f ${f}type; done; $ find man? -type f \ | xargs grep -l '^\.so.*_t\.3' \ | xargs sed -i '/^\.so/s/\.3$/\.3type/'; $ find man? -type f \ | xargs grep -l '^\.BR .*_t (3)' \ | xargs sed -i '/^\.BR .*_t (3)/s/3)/3type)/'; $ find man? -type f \ | grep -- '-struct\.[23]$' \ | while read f; do g="$(echo $f | sed 's/-struct//')"type; mv $f $g; done; $ find man? -type f \ | xargs grep -l '^\.so.*-struct\.[23]' \ | xargs sed -i -e '/^\.so/s/-struct//' -e '/^\.so/s/$/type/'; $ find man? -type f \ | xargs grep -l '^\.BR .*-struct (.)' \ | xargs sed -i -e '/^\.BR .*-struct (.)/s/\([23]\)/\1type/' \ -e '/^\.BR .*-struct /s/-struct//'; $ find man? -type f \ | grep -- '-union\.[23]$' \ | while read f; do g="$(echo $f | sed 's/-union//')"type; mv $f $g; done; $ find man? -type f \ | grep '3type' \ | xargs sed -i '/^\.TH/s/ 3 / 3type /'; Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-05-21printf.3: Document 'l' length modifier for a, A, e, E, f, F, g, and GVincent Lefevre1-0/+11
Signed-off-by: Vincent Lefevre <vincent@vinc17.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-05-17fseek.3: mention seek-past-the-end semantics, defer to lseek(2)наб1-0/+8
If the user is unfamiliar with seeking semantics, they may sensibly assume that seeking past the end is invalid Reported-in: https://twitter.com/eatijr/status/1526264195808911361 Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-05-14fopen.3: tfixAlejandro Colomar1-1/+1
Reported-by: Avinash Sonawane <rootkea@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-05-02timegm.3: Remove recommendation against their useAlejandro Colomar1-1/+0
It was straight after a note that they are nonstandard functions, which already tells the user that if portability is in mind, they shouldn't be used, so this recommendation adds nothing in that sense. Also, there's a note that timelocal() should _never_ be used, due to mktime() being identical and in the POSIX standard (it is also in C99), so this note would also add nothing in that sense. So the only uses not covered by those other notes are non-portable uses of timegm(3). In that scenario, it is an excellent function. Cc: Paul Eggert <eggert@cs.ucla.edu> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-05-02intN_t.3: <arpa/inet.h> also provides some fixed-width typesAlejandro Colomar1-0/+5
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-04-27ceil.3, floor.3, rint.3, round.3: Fix floating-point limit valuesAlejandro Colomar4-8/+16
According to IEEE 754 - 2008 , section 3.3, table 3.2 <https://irem.univ-reunion.fr/IMG/pdf/ieee-754-2008.pdf> the value of emax is described as emax = +127 / +1023 <https://en.wikipedia.org/wiki/IEEE_754#Basic_and_interchange_formats> states the same values. Also, to be more precise about the number of mantissa bits, clarify that the implicit bit is included in the count. Reported-by: "Dr. Wolfgang Armbruster" <dr.w.e.armbruster@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-04-16scanf.3: Clarify ll and L modifiersAlejandro Colomar1-9/+26
Relevant documents: POSIX: <https://pubs.opengroup.org/onlinepubs/9699919799/functions/fscanf.html> glibc: <https://www.gnu.org/software/libc/manual/html_mono/libc.html#Numeric-Input-Conversions> ISO C2x: <http://www.open-std.org/JTC1/SC22/WG14/www/docs/n2731.pdf#subsubsection.7.21.6.2> Still, from the documentation linked above, it seems to me that "%Ln" is supported as a glibc extension, and doesn't fall into "either no effect or undefined behavior" as says the GCC warning shown in the bugzilla report. I didn't modify the documentation regarding %n, and recommend investigating a possible GCC bug. Reported-by: Avinash Sonawane <rootkea@gmail.com> Link: bugzilla <https://bugzilla.kernel.org/show_bug.cgi?id=215844> Cc: glibc <libc-alpha@sourceware.org> Cc: GCC <gcc@gcc.gnu.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-04-02undocumented.3: Add thrd_*() C11 functionsAlejandro Colomar1-0/+5
Reported-by: Avinash Sonawane <rootkea@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-22cacosh.3, catan.3, catanh.3: EXAMPLES: Fix variable use in formulasStephen Kitt3-3/+3
The cacosh, catan, and catanh man pages include examples using a non-existant f2 variable. Replacing the f2 references with f fixes the examples. Signed-off-by: Stephen Kitt <steve@sk2.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-20Many pages: Fix style issues reported by `make lint-mandoc`Alejandro Colomar16-32/+43
Plus some other found in the process. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-20Many pages: Fix style issues reported by `make lint-groff`Alejandro Colomar318-893/+1024
Plus some other found in the process. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-15uintptr_t.3: Update link page to point to intptr_t.3Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Various pages: Add LIBRARY section (libc)Alejandro Colomar52-0/+156
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06dladdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3: Add LIBRARY section (libdl)Alejandro Colomar5-10/+15
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06crypt.3, encrypt.3: Add LIBRARY section (libcrypt)Alejandro Colomar2-4/+6
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06getaddrinfo_a.3: Add LIBRARY section (libanl)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Various pages: Add LIBRARY section (libc)Alejandro Colomar20-0/+60
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06FILE.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Various pages: Add LIBRARY section (libc)Alejandro Colomar25-0/+75
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06getdate.3: SYNOPSIS: Remove redundant includeAlejandro Colomar1-2/+0
It was a residue from old code, before the FTM subsection. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Various pages: Add LIBRARY section (libc)Alejandro Colomar51-0/+153
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06INFINITY.3, double_t.3: Add LIBRARY section (libm)Alejandro Colomar2-0/+6
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Many pages: LIBRARY: srcfixAlejandro Colomar416-417/+417
Escape '-' in -l option to cc(1). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06inet_net_pton.3: Add LIBRARY section (libresolv)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Various pages: Add LIBRARY section (libm)Alejandro Colomar56-112/+168
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06clock_getcpuclockid.3: Add LIBRARY section (librt)Alejandro Colomar1-2/+8
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Various pages: Add LIBRARY section (librt)Alejandro Colomar9-18/+27
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06login.3: Add LIBRARY section (libutil)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Various pages: Add LIBRARY section (libc)Alejandro Colomar14-0/+42
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06Various pages: Add LIBRARY section (libc)Alejandro Colomar23-0/+69
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswcntrl.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswctype.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswdigit.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswgraph.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswlower.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswprint.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswpunct.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswspace.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswupper.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06iswxdigit.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06key_setsecret.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06killpg.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06lconv-struct.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06list.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06localeconv.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06lockf.3: Add LIBRARY section (libc)Alejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06j0.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06lgamma.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06log10.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06log1p.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06log2.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06log.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06logb.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06lrint.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06lround.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06matherr.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06modf.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-06nan.3: Add LIBRARY section (libm)Alejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>