* Routine used by RCTL syscalls to write out output string. */
| 1565 | * Routine used by RCTL syscalls to write out output string. |
| 1566 | */ |
| 1567 | static int |
| 1568 | rctl_write_outbuf(struct sbuf *outputsbuf, char *outbufp, size_t outbuflen) |
| 1569 | { |
| 1570 | int error; |
| 1571 | |
| 1572 | ASSERT_RACCT_ENABLED(); |
| 1573 | |
| 1574 | if (outputsbuf == NULL) |
| 1575 | return (0); |
| 1576 | |
| 1577 | sbuf_finish(outputsbuf); |
| 1578 | if (outbuflen < sbuf_len(outputsbuf) + 1) { |
| 1579 | sbuf_delete(outputsbuf); |
| 1580 | return (ERANGE); |
| 1581 | } |
| 1582 | error = copyout(sbuf_data(outputsbuf), outbufp, |
| 1583 | sbuf_len(outputsbuf) + 1); |
| 1584 | sbuf_delete(outputsbuf); |
| 1585 | return (error); |
| 1586 | } |
| 1587 | |
| 1588 | static struct sbuf * |
| 1589 | rctl_racct_to_sbuf(struct racct *racct, int sloppy) |
no test coverage detected