hash-set, linkedhash-set: Reduce code duplication.
[gnulib.git] / lib / readtokens0.h
blob1c21452144e24251c62ae4531a448c4a082d8437
1 /* readtokens0.h -- read NUL-separated tokens from an input stream.
3 Copyright (C) 2004, 2009-2018 Free Software Foundation, Inc.
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
18 Written by Jim Meyering. */
20 #ifndef READTOKENS0_H
21 # define READTOKENS0_H 1
23 # include <stdio.h>
24 # include <sys/types.h>
25 # include <stdbool.h>
26 # include "obstack.h"
28 struct Tokens
30 size_t n_tok;
31 char **tok;
32 size_t *tok_len;
33 struct obstack o_data; /* Contains data pointed to by each tok[i]. */
34 struct obstack o_tok; /* array of pointers to tokens */
35 struct obstack o_tok_len; /* array of token lengths */
38 void readtokens0_init (struct Tokens *t);
39 void readtokens0_free (struct Tokens *t);
40 bool readtokens0 (FILE *in, struct Tokens *t);
42 #endif