stringlist.c (39327) | stringlist.c (86250) |
---|---|
1/* $NetBSD: stringlist.c,v 1.2 1997/01/17 07:26:20 lukem Exp $ */ 2 3/* 4 * Copyright (c) 1994 Christos Zoulas 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 | 1/* $NetBSD: stringlist.c,v 1.2 1997/01/17 07:26:20 lukem Exp $ */ 2 3/* 4 * Copyright (c) 1994 Christos Zoulas 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 |
34#if 0 |
|
34#if defined(LIBC_SCCS) && !defined(lint) 35static char *rcsid = "$NetBSD: stringlist.c,v 1.2 1997/01/17 07:26:20 lukem Exp $"; 36#endif /* LIBC_SCCS and not lint */ | 35#if defined(LIBC_SCCS) && !defined(lint) 36static char *rcsid = "$NetBSD: stringlist.c,v 1.2 1997/01/17 07:26:20 lukem Exp $"; 37#endif /* LIBC_SCCS and not lint */ |
38#endif |
|
37 | 39 |
40#include <sys/cdefs.h> 41__FBSDID("$FreeBSD: head/lib/libc/gen/stringlist.c 86250 2001-11-11 02:48:09Z bde $"); 42 |
|
38#include <stdio.h> 39#include <string.h> 40#include <err.h> 41#include <stdlib.h> 42#include <stringlist.h> 43 44#define _SL_CHUNKSIZE 20 45 46/* 47 * sl_init(): Initialize a string list 48 */ 49StringList * 50sl_init() 51{ 52 StringList *sl = malloc(sizeof(StringList)); 53 if (sl == NULL) | 43#include <stdio.h> 44#include <string.h> 45#include <err.h> 46#include <stdlib.h> 47#include <stringlist.h> 48 49#define _SL_CHUNKSIZE 20 50 51/* 52 * sl_init(): Initialize a string list 53 */ 54StringList * 55sl_init() 56{ 57 StringList *sl = malloc(sizeof(StringList)); 58 if (sl == NULL) |
54 err(1, "stringlist: %m"); | 59 _err(1, "stringlist: %m"); |
55 56 sl->sl_cur = 0; 57 sl->sl_max = _SL_CHUNKSIZE; 58 sl->sl_str = malloc(sl->sl_max * sizeof(char *)); 59 if (sl->sl_str == NULL) | 60 61 sl->sl_cur = 0; 62 sl->sl_max = _SL_CHUNKSIZE; 63 sl->sl_str = malloc(sl->sl_max * sizeof(char *)); 64 if (sl->sl_str == NULL) |
60 err(1, "stringlist: %m"); | 65 _err(1, "stringlist: %m"); |
61 return sl; 62} 63 64 65/* 66 * sl_add(): Add an item to the string list 67 */ 68void 69sl_add(sl, name) 70 StringList *sl; 71 char *name; 72{ 73 if (sl->sl_cur == sl->sl_max - 1) { 74 sl->sl_max += _SL_CHUNKSIZE; 75 sl->sl_str = reallocf(sl->sl_str, sl->sl_max * sizeof(char *)); 76 if (sl->sl_str == NULL) | 66 return sl; 67} 68 69 70/* 71 * sl_add(): Add an item to the string list 72 */ 73void 74sl_add(sl, name) 75 StringList *sl; 76 char *name; 77{ 78 if (sl->sl_cur == sl->sl_max - 1) { 79 sl->sl_max += _SL_CHUNKSIZE; 80 sl->sl_str = reallocf(sl->sl_str, sl->sl_max * sizeof(char *)); 81 if (sl->sl_str == NULL) |
77 err(1, "stringlist: %m"); | 82 _err(1, "stringlist: %m"); |
78 } 79 sl->sl_str[sl->sl_cur++] = name; 80} 81 82 83/* 84 * sl_free(): Free a stringlist 85 */ --- 35 unchanged lines hidden --- | 83 } 84 sl->sl_str[sl->sl_cur++] = name; 85} 86 87 88/* 89 * sl_free(): Free a stringlist 90 */ --- 35 unchanged lines hidden --- |