* Return the length of the sbuf data. */
| 847 | * Return the length of the sbuf data. |
| 848 | */ |
| 849 | ssize_t |
| 850 | sbuf_len(struct sbuf *s) |
| 851 | { |
| 852 | |
| 853 | assert_sbuf_integrity(s); |
| 854 | /* don't care if it's finished or not */ |
| 855 | KASSERT(s->s_drain_func == NULL, |
| 856 | ("%s makes no sense on sbuf %p with drain", __func__, s)); |
| 857 | |
| 858 | if (s->s_error != 0) |
| 859 | return (-1); |
| 860 | |
| 861 | /* If finished, nulterm is already in len, else add one. */ |
| 862 | if (SBUF_NULINCLUDED(s) && !SBUF_ISFINISHED(s)) |
| 863 | return (s->s_len + 1); |
| 864 | return (s->s_len); |
| 865 | } |
| 866 | |
| 867 | /* |
| 868 | * Clear an sbuf, free its buffer if necessary. |
no outgoing calls
no test coverage detected