Changeset 1770 in MondoRescue for branches/stable/mindi-busybox/libbb/last_char_is.c
- Timestamp:
- Nov 6, 2007, 11:01:53 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mindi-busybox/libbb/last_char_is.c
r821 r1770 1 /* vi: set sw=4 ts=4: */ 1 2 /* 2 3 * busybox library eXtended function … … 4 5 * Copyright (C) 2001 Larry Doolittle, <ldoolitt@recycle.lbl.gov> 5 6 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * 7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 20 8 */ 21 9 22 #include <string.h>23 10 #include "libbb.h" 24 11 25 /* Find out if the last character of a string matches the one given Don't 26 * underrun the buffer if the string length is 0. Also avoids a possible 27 * space-hogging inline of strlen() per usage. 12 /* Find out if the last character of a string matches the one given. 13 * Don't underrun the buffer if the string length is 0. 28 14 */ 29 char 15 char* last_char_is(const char *s, int c) 30 16 { 31 char *sret = (char *)s;32 if (sret) {33 s ret = strrchr(sret, c);34 if (sret != NULL && *(sret+1) != 0)35 sret = NULL;17 if (s && *s) { 18 size_t sz = strlen(s) - 1; 19 s += sz; 20 if ( (unsigned char)*s == c) 21 return (char*)s; 36 22 } 37 return sret;23 return NULL; 38 24 }
Note:
See TracChangeset
for help on using the changeset viewer.