Mercurial > prosody-hg
comparison util-src/ringbuffer.c @ 10953:c3b3ac63f4c3
util.ringbuffer: Ensure unsigned chars are always returned from :byte()
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Wed, 24 Jun 2020 12:34:20 +0100 |
| parents | 6eb5d2bb11af |
| children | 1f6f05a98fcd |
comparison
equal
deleted
inserted
replaced
| 10952:05d218aae3d1 | 10953:c3b3ac63f4c3 |
|---|---|
| 260 | 260 |
| 261 long wrapped_start, wrapped_end; | 261 long wrapped_start, wrapped_end; |
| 262 if(calc_splice_positions(b, start, end, &wrapped_start, &wrapped_end)) { | 262 if(calc_splice_positions(b, start, end, &wrapped_start, &wrapped_end)) { |
| 263 if(wrapped_end <= wrapped_start) { | 263 if(wrapped_end <= wrapped_start) { |
| 264 for(i = wrapped_start; i < (long)b->alen; i++) { | 264 for(i = wrapped_start; i < (long)b->alen; i++) { |
| 265 lua_pushinteger(L, b->buffer[i]); | 265 lua_pushinteger(L, (unsigned char)b->buffer[i]); |
| 266 } | 266 } |
| 267 for(i = 0; i < wrapped_end; i++) { | 267 for(i = 0; i < wrapped_end; i++) { |
| 268 lua_pushinteger(L, b->buffer[i]); | 268 lua_pushinteger(L, (unsigned char)b->buffer[i]); |
| 269 } | 269 } |
| 270 return wrapped_end + (b->alen - wrapped_start); | 270 return wrapped_end + (b->alen - wrapped_start); |
| 271 } else { | 271 } else { |
| 272 for(i = wrapped_start; i < wrapped_end; i++) { | 272 for(i = wrapped_start; i < wrapped_end; i++) { |
| 273 lua_pushinteger(L, b->buffer[i]); | 273 lua_pushinteger(L, (unsigned char)b->buffer[i]); |
| 274 } | 274 } |
| 275 return wrapped_end - wrapped_start; | 275 return wrapped_end - wrapped_start; |
| 276 } | 276 } |
| 277 } | 277 } |
| 278 | 278 |
