| 102 | } |
| 103 | |
| 104 | static inline size_t sdsavail(const sds s) { |
| 105 | unsigned char flags = s[-1]; |
| 106 | switch(flags&SDS_TYPE_MASK) { |
| 107 | case SDS_TYPE_5: { |
| 108 | return 0; |
| 109 | } |
| 110 | case SDS_TYPE_8: { |
| 111 | SDS_HDR_VAR(8,s); |
| 112 | return sh->alloc - sh->len; |
| 113 | } |
| 114 | case SDS_TYPE_16: { |
| 115 | SDS_HDR_VAR(16,s); |
| 116 | return sh->alloc - sh->len; |
| 117 | } |
| 118 | case SDS_TYPE_32: { |
| 119 | SDS_HDR_VAR(32,s); |
| 120 | return sh->alloc - sh->len; |
| 121 | } |
| 122 | case SDS_TYPE_64: { |
| 123 | SDS_HDR_VAR(64,s); |
| 124 | return sh->alloc - sh->len; |
| 125 | } |
| 126 | } |
| 127 | return 0; |
| 128 | } |
| 129 | |
| 130 | static inline void sdssetlen(sds s, size_t newlen) { |
| 131 | unsigned char flags = s[-1]; |
no outgoing calls
no test coverage detected