hush/libbb/last_char_is.c
Denis Vlasenko 6a1d661036 diff: fix -q exit code
last_char_is: sacrifice 9 bytes but avoid double-scan
2006-12-16 22:18:44 +00:00

25 lines
540 B
C

/* vi: set sw=4 ts=4: */
/*
* busybox library eXtended function
*
* Copyright (C) 2001 Larry Doolittle, <ldoolitt@recycle.lbl.gov>
*
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
#include "libbb.h"
/* Find out if the last character of a string matches the one given.
* Don't underrun the buffer if the string length is 0.
*/
char* last_char_is(const char *s, int c)
{
if (s && *s) {
size_t sz = strlen(s) - 1;
s += sz;
if ( (unsigned char)*s == c)
return (char*)s;
}
return NULL;
}