sdsalloc() = sdsavail() + sdslen() */
| 226 | |
| 227 | /* sdsalloc() = sdsavail() + sdslen() */ |
| 228 | static inline size_t sdsalloc(const sds s) { |
| 229 | unsigned char flags = s[-1]; |
| 230 | switch(flags&SDS_TYPE_MASK) { |
| 231 | case SDS_TYPE_5: |
| 232 | return SDS_TYPE_5_LEN(flags); |
| 233 | case SDS_TYPE_8: |
| 234 | return SDS_HDR(8,s)->alloc; |
| 235 | case SDS_TYPE_16: |
| 236 | return SDS_HDR(16,s)->alloc; |
| 237 | case SDS_TYPE_32: |
| 238 | return SDS_HDR(32,s)->alloc; |
| 239 | case SDS_TYPE_64: |
| 240 | return SDS_HDR(64,s)->alloc; |
| 241 | case SDS_TYPE_REFCOUNTED: |
| 242 | return SDS_HDR_REFCOUNTED(s)->len; |
| 243 | } |
| 244 | return 0; |
| 245 | } |
| 246 | |
| 247 | static inline void sdssetalloc(sds s, size_t newlen) { |
| 248 | unsigned char flags = s[-1]; |
no outgoing calls
no test coverage detected