aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2023-05-27 18:21:38 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2023-05-27 18:21:38 +0200
commit5c8a9dfd976493e4351abadf6686b621763b564c (patch)
tree9d9dd9cd194ef8d8a60f92a44d2dd77e7c1e14d3
parent528808bcd25f7d237874dc82fad2adcddf354b42 (diff)
downloadbusybox-w32-5c8a9dfd976493e4351abadf6686b621763b564c.tar.gz
busybox-w32-5c8a9dfd976493e4351abadf6686b621763b564c.tar.bz2
busybox-w32-5c8a9dfd976493e4351abadf6686b621763b564c.zip
awk: remove a local variable "caching" a struct member
Since we take its address, the variable lives on stack (not a GPR). Thus, nothing is improved by caching it. function old new delta awk_getline 642 639 -3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--editors/awk.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/editors/awk.c b/editors/awk.c
index 22f52417d..4a0eb9281 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -2236,7 +2236,7 @@ static int awk_getline(rstream *rsm, var *v)
2236{ 2236{
2237 char *b; 2237 char *b;
2238 regmatch_t pmatch[1]; 2238 regmatch_t pmatch[1];
2239 int size, a, p, pp = 0; 2239 int a, p, pp = 0;
2240 int fd, so, eo, r, rp; 2240 int fd, so, eo, r, rp;
2241 char c, *m, *s; 2241 char c, *m, *s;
2242 2242
@@ -2249,12 +2249,11 @@ static int awk_getline(rstream *rsm, var *v)
2249 m = rsm->buffer; 2249 m = rsm->buffer;
2250 a = rsm->adv; 2250 a = rsm->adv;
2251 p = rsm->pos; 2251 p = rsm->pos;
2252 size = rsm->size;
2253 c = (char) rsplitter.n.info; 2252 c = (char) rsplitter.n.info;
2254 rp = 0; 2253 rp = 0;
2255 2254
2256 if (!m) 2255 if (!m)
2257 m = qrealloc(m, 256, &size); 2256 m = qrealloc(m, 256, &rsm->size);
2258 2257
2259 do { 2258 do {
2260 b = m + a; 2259 b = m + a;
@@ -2298,10 +2297,10 @@ static int awk_getline(rstream *rsm, var *v)
2298 a = 0; 2297 a = 0;
2299 } 2298 }
2300 2299
2301 m = qrealloc(m, a+p+128, &size); 2300 m = qrealloc(m, a+p+128, &rsm->size);
2302 b = m + a; 2301 b = m + a;
2303 pp = p; 2302 pp = p;
2304 p += safe_read(fd, b+p, size-p-1); 2303 p += safe_read(fd, b+p, rsm->size - p - 1);
2305 if (p < pp) { 2304 if (p < pp) {
2306 p = 0; 2305 p = 0;
2307 r = 0; 2306 r = 0;
@@ -2325,7 +2324,6 @@ static int awk_getline(rstream *rsm, var *v)
2325 rsm->buffer = m; 2324 rsm->buffer = m;
2326 rsm->adv = a + eo; 2325 rsm->adv = a + eo;
2327 rsm->pos = p - eo; 2326 rsm->pos = p - eo;
2328 rsm->size = size;
2329 2327
2330 debug_printf_eval("returning from %s(): %d\n", __func__, r); 2328 debug_printf_eval("returning from %s(): %d\n", __func__, r);
2331 2329