GETFIELDS(3)

πŸ“¦ version 0_git20260208, in alpine 3.24, arch rolling, nixos 26.05, nixpkgs unstable

πŸ’– GETFIELDS(3) β€” Library Functions Manual πŸ’–

okay so bestie, we are literally in the GETFIELDS(3) page from the Library Functions Manual, and it's all about breaking a string into fields. No cap, it's giving core string-splitting energy. 🫢

🌸 NAME 🌸

getfields, gettokens, tokenize β€” break a string into fields ✨

πŸŽ€ SYNOPSIS πŸŽ€

#include <u.h>
#include <libc.h>

int   getfields(char *str, char **args, int maxargs, int multiflag,
          char *delims)

int   gettokens(char *str, char **args, int maxargs, char *delims)

int   tokenize(char *str, char **args, int maxargs)

πŸ¦‹ DESCRIPTION πŸ¦‹

Getfields places into the array args pointers to the first maxargs fields of the null terminated UTF string str. Delimiters between these fields are set to null. πŸ’…

Fields are substrings of str whose definition depends on the value of multiflag. If multiflag is zero, adjacent fields are separated by exactly one delimiter. For example

getfields("#alice#bob##charles###", arg, 3, 0, "#");

yields three substrings: null-string , alice, and bob##charles###. πŸŽ€

If the multiflag argument is not zero, a field is a non-empty string of non-delimiters. For example

getfields("#alice#bob##charles###", arg, 3, 1, "#");

yields the three substrings: alice, bob, and charles###. 🌈

Getfields returns the number of fields pointed to. πŸ”₯

Gettokens is the same as getfields with multiflag non-zero, except that fields may be quoted using single quotes, in the manner of rc(1). See quote(3) for related quote-handling software. 🫢

Tokenize is gettokens with delims set to "\t\r\n ". ✨

🌟 SOURCE 🌟

/src/lib9/tokenize.c πŸ“βœ¨

πŸ¦‹ SEE ALSO πŸ¦‹

strtok in strcat(3), quote(3). πŸ‘€


mwah! πŸ’‹ that’s the GETFIELDS(3) footer, and the source is /src/lib9/tokenize.c β€” no date/version stamp is on this footer, bestie. 🫢✨