File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -38,6 +38,9 @@ void mgos_system_restart_after(int delay_ms);
3838/* Return random number in a given range. */
3939float mgos_rand_range (float from , float to );
4040
41+ /* Removes 'data_size' bytes from index of the buffer */
42+ size_t mbuf_remove_range (struct mbuf * , size_t index , size_t data_size );
43+
4144#ifdef __cplusplus
4245}
4346#endif
Original file line number Diff line number Diff line change @@ -43,6 +43,22 @@ float mgos_rand_range(float from, float to) {
4343 return from + (((float ) (to - from )) / RAND_MAX * rand ());
4444}
4545
46+
47+ size_t mbuf_remove_range (struct mbuf * mb , size_t i , size_t n ) WEAK ;
48+ size_t mbuf_remove_range (struct mbuf * mb , size_t i , size_t n ) {
49+ size_t ret = 0 ;
50+ if (n > 0 && n <= (mb -> len - i )) {
51+ memmove (& mb -> buf [i ], & mb -> buf [i ] + n , mb -> len - n );
52+ mb -> len -= n ;
53+ ret = n ;
54+ }
55+ else if (n > 0 && n >= (mb -> len - i )) {
56+ ret = mb -> len - i ;
57+ mb -> len -= ret ;
58+ }
59+ return ret ;
60+ }
61+
4662#if CS_ENABLE_STDIO
4763/*
4864 * Intended for ffi
You can’t perform that action at this time.
0 commit comments