← Commit list

d21a63f9f

Denys Vlasenko
Denys Vlasenko
2020-06-30
SUCCESS Duration: 151s

Subject

libbb: code shrink in last_char_is()

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

libbb/last_char_is.c+9 -8
@@ -8,16 +8,17 @@
*/
#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.
- */
+/* Find out if the last character of a string matches the one given */
char* FAST_FUNC 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;
+ if (s) {
+ size_t sz = strlen(s);
+ /* Don't underrun the buffer if the string length is 0 */
+ if (sz != 0) {
+ s += sz - 1;
+ if ((unsigned char)*s == c)
+ return (char*)s;
+ }
}
return NULL;
}