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);
38
38
/* Return random number in a given range. */
39
39
float mgos_rand_range (float from , float to );
40
40
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
+
41
44
#ifdef __cplusplus
42
45
}
43
46
#endif
Original file line number Diff line number Diff line change @@ -43,6 +43,22 @@ float mgos_rand_range(float from, float to) {
43
43
return from + (((float ) (to - from )) / RAND_MAX * rand ());
44
44
}
45
45
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
+
46
62
#if CS_ENABLE_STDIO
47
63
/*
48
64
* Intended for ffi
You can’t perform that action at this time.
0 commit comments