0
|
1 /*
|
|
2 * CDDL HEADER START
|
|
3 *
|
|
4 * The contents of this file are subject to the terms of the
|
|
5 * Common Development and Distribution License (the "License").
|
|
6 * You may not use this file except in compliance with the License.
|
|
7 *
|
|
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
|
9 * or http://www.opensolaris.org/os/licensing.
|
|
10 * See the License for the specific language governing permissions
|
|
11 * and limitations under the License.
|
|
12 *
|
|
13 * When distributing Covered Code, include this CDDL HEADER in each
|
|
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
|
15 * If applicable, add the following below this CDDL HEADER, with the
|
|
16 * fields enclosed by brackets "[]" replaced with your own identifying
|
|
17 * information: Portions Copyright [yyyy] [name of copyright owner]
|
|
18 *
|
|
19 * CDDL HEADER END
|
|
20 */
|
|
21 /*
|
|
22 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
|
|
23 * Use is subject to license terms.
|
|
24 */
|
|
25
|
|
26 #pragma ident "@(#)utils.c 1.1 07/10/03 SMI"
|
|
27
|
|
28 #include <limits.h>
|
|
29 #include <string.h>
|
|
30 #include <stdlib.h>
|
|
31 #include <stdarg.h>
|
|
32 #include <stdio.h>
|
|
33 #include <errno.h>
|
|
34 #ifdef HAVE_STDINT_H
|
|
35 #include <stdint.h>
|
|
36 #endif
|
|
37 #include "utils.h"
|
|
38 #include "parsertypes.h"
|
|
39
|
|
40 /*
|
|
41 * For now, just two routines: one to allocate a string in shared
|
|
42 * memory, and one to get the final file or directory name from a
|
|
43 * supplied pathname.
|
|
44 *
|
|
45 */
|
|
46
|
|
47
|
|
48 /*
|
|
49 * Allocates space for a new string of the same length as
|
|
50 * the supplied string "str". Copies the old string into
|
|
51 * the new string and returns a pointer to the new string.
|
|
52 * Returns NULL if memory allocation for the new string fails.
|
|
53 */
|
|
54 char *
|
|
55 fb_stralloc(char *str)
|
|
56 {
|
|
57 char *newstr;
|
|
58
|
|
59 if ((newstr = malloc(strlen(str) + 1)) == NULL)
|
|
60 return (NULL);
|
|
61 (void) strcpy(newstr, str);
|
|
62 return (newstr);
|
|
63 }
|