[PATCH RESEND] libbb: shrink is_suffixed_with() function
Denys Vlasenko
vda.linux at googlemail.com
Tue Sep 15 17:56:58 UTC 2015
On Sun, Sep 13, 2015 at 8:07 AM, Tito <farmatito at tiscali.it> wrote:
> attached you will find a patch that shrinks the is_suffixed_with
> function and adds one more test case as suggested by Bartosz
> Golaszewski.
>
> Bloat-o-meter says:
>
> function old new delta
> is_suffixed_with 83 47 -36
> ------------------------------------------------------------------------------
> (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-36) Total: -36 bytes
> char* FAST_FUNC is_suffixed_with(const char *string, const char *key)
> {
> - size_t key_len = strlen(key);
> - ssize_t len_diff = strlen(string) - key_len;
> -
> - if (len_diff >= 0) {
> - string += len_diff;
> - if (strcmp(string, key) == 0) {
> - return (char*)string;
> - }
> - }
> -
> + char *s = strrstr(string, key);
> + if (s && strcmp(s, key) == 0)
> + return s;
> return NULL;
This version is too performance-pessimized.
More information about the busybox
mailing list