From a5b28b772105ca192aab730c6179722e48999ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 4 Jun 2022 20:56:29 +0200 Subject: [PATCH] CODING_STYLE: say that inet_ntop() is a no no --- docs/CODING_STYLE.md | 5 +++++ 1 file changed, 5 insertions(+) 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,