mystring.c (50471) | mystring.c (90111) |
---|---|
1/*- 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Kenneth Almquist. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 25 unchanged lines hidden (view full) --- 34 * SUCH DAMAGE. 35 */ 36 37#ifndef lint 38#if 0 39static char sccsid[] = "@(#)mystring.c 8.2 (Berkeley) 5/4/95"; 40#endif 41static const char rcsid[] = | 1/*- 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Kenneth Almquist. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 25 unchanged lines hidden (view full) --- 34 * SUCH DAMAGE. 35 */ 36 37#ifndef lint 38#if 0 39static char sccsid[] = "@(#)mystring.c 8.2 (Berkeley) 5/4/95"; 40#endif 41static const char rcsid[] = |
42 "$FreeBSD: head/bin/sh/mystring.c 50471 1999-08-27 23:15:48Z peter $"; | 42 "$FreeBSD: head/bin/sh/mystring.c 90111 2002-02-02 06:50:57Z imp $"; |
43#endif /* not lint */ 44 45/* 46 * String functions. 47 * 48 * equal(s1, s2) Return true if strings are equal. 49 * scopy(from, to) Copy a string. 50 * scopyn(from, to, n) Like scopy, but checks for overflow. --- 21 unchanged lines hidden (view full) --- 72 73/* 74 * scopyn - copy a string from "from" to "to", truncating the string 75 * if necessary. "To" is always nul terminated, even if 76 * truncation is performed. "Size" is the size of "to". 77 */ 78 79void | 43#endif /* not lint */ 44 45/* 46 * String functions. 47 * 48 * equal(s1, s2) Return true if strings are equal. 49 * scopy(from, to) Copy a string. 50 * scopyn(from, to, n) Like scopy, but checks for overflow. --- 21 unchanged lines hidden (view full) --- 72 73/* 74 * scopyn - copy a string from "from" to "to", truncating the string 75 * if necessary. "To" is always nul terminated, even if 76 * truncation is performed. "Size" is the size of "to". 77 */ 78 79void |
80scopyn(from, to, size) 81 char const *from; 82 char *to; 83 int size; 84 { | 80scopyn(const char *from, char *to, int size) 81{ |
85 86 while (--size > 0) { 87 if ((*to++ = *from++) == '\0') 88 return; 89 } 90 *to = '\0'; 91} 92 93 94/* 95 * prefix -- see if pfx is a prefix of string. 96 */ 97 98int | 82 83 while (--size > 0) { 84 if ((*to++ = *from++) == '\0') 85 return; 86 } 87 *to = '\0'; 88} 89 90 91/* 92 * prefix -- see if pfx is a prefix of string. 93 */ 94 95int |
99prefix(pfx, string) 100 char const *pfx; 101 char const *string; 102 { | 96prefix(const char *pfx, const char *string) 97{ |
103 while (*pfx) { 104 if (*pfx++ != *string++) 105 return 0; 106 } 107 return 1; 108} 109 110 111/* 112 * Convert a string of digits to an integer, printing an error message on 113 * failure. 114 */ 115 116int | 98 while (*pfx) { 99 if (*pfx++ != *string++) 100 return 0; 101 } 102 return 1; 103} 104 105 106/* 107 * Convert a string of digits to an integer, printing an error message on 108 * failure. 109 */ 110 111int |
117number(s) 118 const char *s; 119 { 120 | 112number(const char *s) 113{ |
121 if (! is_number(s)) 122 error("Illegal number: %s", (char *)s); 123 return atoi(s); 124} 125 126 127 128/* 129 * Check for a valid number. This should be elsewhere. 130 */ 131 132int | 114 if (! is_number(s)) 115 error("Illegal number: %s", (char *)s); 116 return atoi(s); 117} 118 119 120 121/* 122 * Check for a valid number. This should be elsewhere. 123 */ 124 125int |
133is_number(p) 134 const char *p; 135 { | 126is_number(const char *p) 127{ |
136 do { 137 if (! is_digit(*p)) 138 return 0; 139 } while (*++p != '\0'); 140 return 1; 141} | 128 do { 129 if (! is_digit(*p)) 130 return 0; 131 } while (*++p != '\0'); 132 return 1; 133} |