AW: [PATCH] nc_bloaty: Code shrink in findline, use memchr instead.
Walter Harms
wharms at bfs.de
Tue Feb 4 10:04:12 UTC 2020
________________________________________
Von: busybox <busybox-bounces at busybox.net> im Auftrag von Martin Lewis <martin.lewis.x84 at gmail.com>
Gesendet: Dienstag, 4. Februar 2020 00:52
An: busybox at busybox.net
Betreff: [PATCH] nc_bloaty: Code shrink in findline, use memchr instead.
Signed-off-by: Martin Lewis <martin.lewis.x84 at gmail.com>
---
networking/nc_bloaty.c | 21 ++++-----------------
1 file changed, 4 insertions(+), 17 deletions(-)
diff --git a/networking/nc_bloaty.c b/networking/nc_bloaty.c
index 034e03d21..190a8bcb1 100644
--- a/networking/nc_bloaty.c
+++ b/networking/nc_bloaty.c
@@ -237,24 +237,11 @@ static void arm(unsigned secs)
Not distinguishing \n vs \r\n for the nonce; it just works as is... */
static unsigned findline(char *buf, unsigned siz)
a bit of nit picking:
unsigned siz -> unsigned int size
of perhaps size_t size? (need by memchr() ).
re,
wh
{
- char * p;
- int x;
- if (!buf) /* various sanity checks... */
- return 0;
- if (siz > BIGSIZ)
+ char *p;
+ if (!buf || siz > BIGSIZ)
return 0;
- x = siz;
- for (p = buf; x > 0; x--) {
- if (*p == '\n') {
- x = (int) (p - buf);
- x++; /* 'sokay if it points just past the end! */
-Debug("findline returning %d", x);
- return x;
- }
- p++;
- } /* for */
-Debug("findline returning whole thing: %d", siz);
- return siz;
+ p = memchr(buf, '\n', siz);
+ return p ? (p - buf + 1) : siz;
} /* findline */
/* doexec:
--
2.11.0
_______________________________________________
busybox mailing list
busybox at busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
More information about the busybox
mailing list