From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
To: dev@dpdk.org
Cc: Tyler Retzlaff <roretzla@microsoft.com>,
Nick Connolly <nick.connolly@mayadata.io>,
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,
Olivier Matz <olivier.matz@6wind.com>,
Thomas Monjalon <thomas@monjalon.net>,
Ferruh Yigit <ferruh.yigit@intel.com>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Subject: [dpdk-dev] [PATCH 5/7] lib: remove POSIX dependencies
Date: Sun, 21 Feb 2021 02:29:08 +0300 [thread overview]
Message-ID: <20210220232910.772-6-dmitry.kozliuk@gmail.com> (raw)
In-Reply-To: <20210220232910.772-1-dmitry.kozliuk@gmail.com>
Replace POSIX strtok_r() with EAL rte_strtok().
Replace POSIX strdup() with EAL rte_strdup().
Locally rename Windows _close() to standard close().
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
lib/librte_cmdline/cmdline.c | 1 +
lib/librte_ethdev/rte_class_eth.c | 2 +-
lib/librte_ethdev/rte_ethdev.c | 2 +-
lib/librte_kvargs/rte_kvargs.c | 17 ++++++++++-------
4 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c
index 79ea5f98c..4dfa1178f 100644
--- a/lib/librte_cmdline/cmdline.c
+++ b/lib/librte_cmdline/cmdline.c
@@ -19,6 +19,7 @@
#include "cmdline_private.h"
#ifdef RTE_EXEC_ENV_WINDOWS
+#define close _close
#define write _write
#endif
diff --git a/lib/librte_ethdev/rte_class_eth.c b/lib/librte_ethdev/rte_class_eth.c
index ca2ce87f7..9b72bdf15 100644
--- a/lib/librte_ethdev/rte_class_eth.c
+++ b/lib/librte_ethdev/rte_class_eth.c
@@ -73,7 +73,7 @@ eth_representor_cmp(const char *key __rte_unused,
return -1; /* not a representor port */
/* Parse devargs representor values. */
- values = strdup(value);
+ values = rte_strdup(value);
if (values == NULL)
return -1;
memset(&representors, 0, sizeof(representors));
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 6f514c388..a09fec2ce 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -5515,7 +5515,7 @@ eth_dev_devargs_tokenise(struct rte_kvargs *arglist, const char *str_in)
struct rte_kvargs_pair *pair;
char *letter;
- arglist->str = strdup(str_in);
+ arglist->str = rte_strdup(str_in);
if (arglist->str == NULL)
return -ENOMEM;
diff --git a/lib/librte_kvargs/rte_kvargs.c b/lib/librte_kvargs/rte_kvargs.c
index 285081c86..fd1103b33 100644
--- a/lib/librte_kvargs/rte_kvargs.c
+++ b/lib/librte_kvargs/rte_kvargs.c
@@ -26,20 +26,22 @@ rte_kvargs_tokenize(struct rte_kvargs *kvlist, const char *params)
/* Copy the const char *params to a modifiable string
* to pass to rte_strsplit
*/
- kvlist->str = strdup(params);
+ kvlist->str = rte_strdup(params);
if (kvlist->str == NULL)
return -1;
/* browse each key/value pair and add it in kvlist */
str = kvlist->str;
- while ((str = strtok_r(str, RTE_KVARGS_PAIRS_DELIM, &ctx1)) != NULL) {
+ while ((str = rte_strtok(str, RTE_KVARGS_PAIRS_DELIM, &ctx1)) != NULL) {
i = kvlist->count;
if (i >= RTE_KVARGS_MAX)
return -1;
- kvlist->pairs[i].key = strtok_r(str, RTE_KVARGS_KV_DELIM, &ctx2);
- kvlist->pairs[i].value = strtok_r(NULL, RTE_KVARGS_KV_DELIM, &ctx2);
+ kvlist->pairs[i].key = rte_strtok(
+ str, RTE_KVARGS_KV_DELIM, &ctx2);
+ kvlist->pairs[i].value = rte_strtok(
+ NULL, RTE_KVARGS_KV_DELIM, &ctx2);
if (kvlist->pairs[i].key == NULL ||
kvlist->pairs[i].value == NULL)
return -1;
@@ -49,12 +51,13 @@ rte_kvargs_tokenize(struct rte_kvargs *kvlist, const char *params)
if (str[0] == '[') {
/* Find the end of the list. */
while (str[strlen(str) - 1] != ']') {
- /* Restore the comma erased by strtok_r(). */
+ /* Restore the comma erased by rte_strtok(). */
if (ctx1 == NULL || ctx1[0] == '\0')
return -1; /* no closing bracket */
str[strlen(str)] = ',';
/* Parse until next comma. */
- str = strtok_r(NULL, RTE_KVARGS_PAIRS_DELIM, &ctx1);
+ str = rte_strtok(
+ NULL, RTE_KVARGS_PAIRS_DELIM, &ctx1);
if (str == NULL)
return -1; /* no closing bracket */
}
@@ -199,7 +202,7 @@ rte_kvargs_parse_delim(const char *args, const char * const valid_keys[],
if (valid_ends == NULL)
return rte_kvargs_parse(args, valid_keys);
- copy = strdup(args);
+ copy = rte_strdup(args);
if (copy == NULL)
return NULL;
--
2.29.2
next prev parent reply other threads:[~2021-02-20 23:29 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-20 23:29 [dpdk-dev] [PATCH 0/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-02-20 23:29 ` Dmitry Kozlyuk [this message]
2021-02-20 23:29 ` [dpdk-dev] [PATCH 6/7] drivers: remove POSIX dependencies Dmitry Kozlyuk
2021-02-20 23:29 ` [dpdk-dev] [PATCH 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 0/7] " Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-22 11:47 ` Bruce Richardson
2021-02-22 12:48 ` Nick Connolly
2021-02-22 14:26 ` Bruce Richardson
2021-02-22 18:21 ` Nick Connolly
2021-02-22 22:57 ` Dmitry Kozlyuk
2021-02-23 9:45 ` Bruce Richardson
2021-02-27 20:23 ` Dmitry Kozlyuk
2021-03-01 21:31 ` Nick Connolly
2021-03-02 0:22 ` Dmitry Kozlyuk
2021-03-02 11:27 ` Nick Connolly
2021-03-16 9:51 ` Thomas Monjalon
2021-02-22 18:07 ` Tyler Retzlaff
2021-02-22 18:36 ` Nick Connolly
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-21 8:58 ` Tal Shnaiderman
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 5/7] lib: remove POSIX dependencies Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 6/7] drivers: " Dmitry Kozlyuk
2021-02-21 8:59 ` Tal Shnaiderman
2021-02-21 15:54 ` Andrew Rybchenko
2021-02-21 17:05 ` Dmitry Kozlyuk
2021-02-21 1:28 ` [dpdk-dev] [PATCH v2 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-02-21 8:59 ` Tal Shnaiderman
2021-02-21 10:24 ` Dmitry Kozlyuk
2021-02-21 11:58 ` Tal Shnaiderman
2021-02-21 14:33 ` Dmitry Kozlyuk
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 0/7] " Dmitry Kozlyuk
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 1/7] eal: add wrappers for POSIX string functions Dmitry Kozlyuk
2021-02-23 7:11 ` Andrew Rybchenko
2021-02-23 21:53 ` Nick Connolly
2021-02-24 7:21 ` Andrew Rybchenko
2021-03-04 6:47 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 2/7] eal: add macro for maximum path length Dmitry Kozlyuk
2021-03-04 6:47 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 3/7] eal: add sleep API Dmitry Kozlyuk
2021-02-23 22:06 ` Nick Connolly
2021-03-04 6:47 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 4/7] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-03-04 6:48 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 5/7] lib: remove POSIX dependencies Dmitry Kozlyuk
2021-03-04 6:48 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 6/7] drivers: " Dmitry Kozlyuk
2021-03-04 6:49 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-02-21 14:28 ` [dpdk-dev] [PATCH v3 7/7] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-04 6:49 ` [dpdk-dev] [EXTERNAL] " Khoa To
2021-03-04 6:46 ` [dpdk-dev] [EXTERNAL] [PATCH v3 0/7] " Khoa To
2021-03-06 0:04 ` [dpdk-dev] [PATCH v4 0/4] " Dmitry Kozlyuk
2021-03-06 0:04 ` [dpdk-dev] [PATCH v4 1/4] eal: add sleep API Dmitry Kozlyuk
2021-03-06 0:04 ` [dpdk-dev] [PATCH v4 2/4] eal: add asprintf() internal wrapper Dmitry Kozlyuk
2021-03-06 15:27 ` Lance Richardson
2021-03-06 0:04 ` [dpdk-dev] [PATCH v4 3/4] build: indicate usage at build time for public headers Dmitry Kozlyuk
2021-03-16 9:59 ` Thomas Monjalon
2021-03-06 0:05 ` [dpdk-dev] [PATCH v4 4/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-17 19:23 ` [dpdk-dev] [PATCH v4 0/4] " Ranjit Menon
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 0/5] " Dmitry Kozlyuk
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 1/5] eal: add sleep API Dmitry Kozlyuk
2021-03-22 8:57 ` Kinsella, Ray
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 4/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-03-20 11:27 ` [dpdk-dev] [PATCH v5 5/5] net: replace Windows networking shim Dmitry Kozlyuk
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 0/5] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 1/5] eal: add sleep API Dmitry Kozlyuk
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-03-26 9:04 ` Thomas Monjalon
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-03-26 9:12 ` Thomas Monjalon
2021-03-31 21:05 ` Nick Connolly
2021-03-31 21:19 ` Thomas Monjalon
2021-03-31 21:45 ` Nick Connolly
2021-03-31 21:55 ` Thomas Monjalon
2021-04-01 23:10 ` Dmitry Kozlyuk
2021-04-01 23:18 ` Thomas Monjalon
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 4/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-03-26 9:22 ` Thomas Monjalon
2021-03-20 13:05 ` [dpdk-dev] [PATCH v6 5/5] net: replace Windows networking shim Dmitry Kozlyuk
2021-03-26 9:28 ` Thomas Monjalon
2021-04-01 23:03 ` Dmitry Kozlyuk
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 0/5] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 1/5] eal: add sleep API Dmitry Kozlyuk
2021-04-06 14:34 ` Morten Brørup
2021-04-06 23:29 ` Dmitry Kozlyuk
2021-04-07 7:31 ` Morten Brørup
2021-04-29 17:09 ` Tyler Retzlaff
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 2/5] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-10 7:05 ` Nick Connolly
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 3/5] eal: make OS shims internal Dmitry Kozlyuk
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 4/5] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-03 23:41 ` [dpdk-dev] [PATCH v7 5/5] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 0/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-08 11:26 ` Olivier Matz
2021-04-07 22:22 ` [dpdk-dev] [PATCH v8 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-08 11:45 ` Olivier Matz
2021-04-08 19:51 ` Dmitry Kozlyuk
2021-04-09 13:33 ` Olivier Matz
2021-04-14 21:47 ` Thomas Monjalon
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 0/4] eal/windows: do not expose POSIX symbols Dmitry Kozlyuk
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-14 21:33 ` Thomas Monjalon
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-10 22:47 ` [dpdk-dev] [PATCH v9 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-13 4:46 ` [dpdk-dev] [PATCH v9 0/4] eal/windows: do not expose POSIX symbols Ranjit Menon
2021-04-13 7:00 ` Dmitry Kozlyuk
2021-04-14 21:12 ` Thomas Monjalon
2021-04-14 21:34 ` Ranjit Menon
2021-04-14 21:42 ` Thomas Monjalon
2021-04-14 21:47 ` Ranjit Menon
2021-04-14 22:08 ` Dmitry Kozlyuk
2021-04-14 22:58 ` Thomas Monjalon
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 " Dmitry Kozlyuk
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 1/4] eal/windows: hide asprintf() shim Dmitry Kozlyuk
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 2/4] eal: make OS shims internal Dmitry Kozlyuk
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 3/4] net: work around s_addr macro on Windows Dmitry Kozlyuk
2021-04-14 22:06 ` [dpdk-dev] [PATCH v10 4/4] net: provide IP-related API on any OS Dmitry Kozlyuk
2021-04-14 22:50 ` [dpdk-dev] [PATCH v10 0/4] eal/windows: do not expose POSIX symbols Ranjit Menon
2021-04-14 23:57 ` Thomas Monjalon
2021-03-17 19:19 ` [dpdk-dev] [PATCH 0/7] " Ranjit Menon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210220232910.772-6-dmitry.kozliuk@gmail.com \
--to=dmitry.kozliuk@gmail.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=nick.connolly@mayadata.io \
--cc=olivier.matz@6wind.com \
--cc=roretzla@microsoft.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).