lib/string/strtok/stpsep.[ch]: stpsep(): Add function

This function is somewhat simpler to use than strsep(3) in some cases.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
This commit is contained in:
Alejandro Colomar
2024-07-02 19:31:38 +02:00
committed by Serge Hallyn
parent 843c151f2c
commit 39da15614e
3 changed files with 45 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#include <config.h>
#include "string/strtok/stpsep.h"
extern inline char *stpsep(char *s, const char *delim);

View File

@@ -0,0 +1,33 @@
// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#ifndef SHADOW_INCLUDE_LIB_STRING_STRTOK_STPSEP_H_
#define SHADOW_INCLUDE_LIB_STRING_STRTOK_STPSEP_H_
#include <config.h>
#include <string.h>
#include "attr.h"
ATTR_STRING(1) ATTR_STRING(2)
inline char *stpsep(char *s, const char *delim);
// Similar to strsep(3),
// but return the next token, and don't update the input pointer.
// Similar to strtok(3),
// but don't store a state, and don't skip empty fields.
inline char *
stpsep(char *s, const char *delim)
{
strsep(&s, delim);
return s;
}
#endif // include guard