From: Zbigniew Jędrzejewski-Szmek Date: Sat, 4 Jun 2022 18:56:29 +0000 (+0200) Subject: CODING_STYLE: say that inet_ntop() is a no no X-Git-Tag: v252-rc1~848^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a5b28b772105ca192aab730c6179722e48999ba3;p=thirdparty%2Fsystemd.git CODING_STYLE: say that inet_ntop() is a no no --- diff --git a/docs/CODING_STYLE.md b/docs/CODING_STYLE.md index 20e7251491b..3599db57fb3 100644 --- a/docs/CODING_STYLE.md +++ b/docs/CODING_STYLE.md @@ -645,6 +645,11 @@ SPDX-License-Identifier: LGPL-2.1-or-later `uint16_t`. Also, "network byte order" is just a weird name for "big endian", hence we might want to call it "big endian" right-away. +- Use `typesafe_inet_ntop()`, `typesafe_inet_ntop4()`, and + `typesafe_inet_ntop6()` instead of `inet_ntop()`. But better yet, use the + `IN_ADDR_TO_STRING()`, `IN4_ADDR_TO_STRING()`, and `IN6_ADDR_TO_STRING()` + macros which allocate an anynomous buffer internally. + - Please never use `dup()`. Use `fcntl(fd, F_DUPFD_CLOEXEC, 3)` instead. For two reasons: first, you want `O_CLOEXEC` set on the new `fd` (see above). Second, `dup()` will happily duplicate your `fd` as 0, 1, 2,