This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
dexter gerrit-no-reply at lists.osmocom.orgdexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/12554 ) Change subject: socket: add define for socket name length ...................................................................... socket: add define for socket name length The function osmo_sock_get_name_buf() can be used to write a string representation to a user provided memory. Unfortunately the proper length for the user provided memory is not obvious. To make using osmo_sock_get_name_buf() more practical, add a define constant that defines the length of the required memory. Also use this define in socket.c. Change-Id: If8be8c2c0d4935da17ab13b2c2127b719ceefbcc --- M include/osmocom/core/socket.h M src/socket.c 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index 43604ec..c183532 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -28,6 +28,8 @@ #define OSMO_SOCK_F_NO_MCAST_ALL (1 << 4) /*! use SO_REUSEADDR on UDP ports (required for multicast) */ #define OSMO_SOCK_F_UDP_REUSEADDR (1 << 5) +/*! maximum length of a socket name ("r=1.2.3.4:123<->l=5.6.7.8:987") */ +#define OSMO_SOCK_NAME_MAXLEN (2 + INET6_ADDRSTRLEN + 1 + 5 + 3 + 2 + INET6_ADDRSTRLEN + 1 + 5 + 1) int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, unsigned int flags); diff --git a/src/socket.c b/src/socket.c index 4f3b1ca..37fd584 100644 --- a/src/socket.c +++ b/src/socket.c @@ -783,8 +783,7 @@ */ char *osmo_sock_get_name(void *ctx, int fd) { - /* "r=1.2.3.4:123<->l=5.6.7.8:987" */ - char str[2 + INET6_ADDRSTRLEN + 1 + 5 + 3 + 2 + INET6_ADDRSTRLEN + 1 + 5 + 1]; + char str[OSMO_SOCK_NAME_MAXLEN]; int rc; rc = osmo_sock_get_name_buf(str, sizeof(str), fd); if (rc <= 0) @@ -823,8 +822,7 @@ */ const char *osmo_sock_get_name2(int fd) { - /* "r=1.2.3.4:123<->l=5.6.7.8:987" */ - static char str[2 + INET6_ADDRSTRLEN + 1 + 5 + 3 + 2 + INET6_ADDRSTRLEN + 1 + 5 + 1]; + static char str[OSMO_SOCK_NAME_MAXLEN]; osmo_sock_get_name_buf(str, sizeof(str), fd); return str; } -- To view, visit https://gerrit.osmocom.org/12554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: If8be8c2c0d4935da17ab13b2c2127b719ceefbcc Gerrit-Change-Number: 12554 Gerrit-PatchSet: 3 Gerrit-Owner: dexter <pmaier at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max <msuraev at sysmocom.de> Gerrit-Reviewer: dexter <pmaier at sysmocom.de> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190118/ef50a738/attachment.htm>