From: James Jones Date: Tue, 5 Jan 2021 16:15:12 +0000 (-0600) Subject: Add FR_DBUFF_COPY() analogous to FR_SBUFF_COPY() (#3834) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1fee3512bd587e0ec372f599dc51a4dffa2a2d2c;p=thirdparty%2Ffreeradius-server.git Add FR_DBUFF_COPY() analogous to FR_SBUFF_COPY() (#3834) --- diff --git a/src/lib/util/dbuff.h b/src/lib/util/dbuff.h index 67e408a713f..2c485f3263d 100644 --- a/src/lib/util/dbuff.h +++ b/src/lib/util/dbuff.h @@ -205,6 +205,25 @@ do { \ .parent = (_dbuff) \ } +/** Let the dbuff be advanced by operations on its child + * + * + * @param[in] _dbuff to make an ephemeral copy of. + */ +#define FR_DBUFF_COPY(_dbuff) (fr_dbuff_t) \ +{ \ + .buff = (_dbuff)->buff, \ + .start = (_dbuff)->p, \ + .end = (_dbuff)->end, \ + .p = (_dbuff)->p, \ + .is_const = (_dbuff)->is_const, \ + .adv_parent = true, \ + .shifted = (_dbuff)->shifted, \ + .extend = (_dbuff)->extend, \ + .uctx = (_dbuff)->uctx, \ + .parent = (_dbuff) \ +} + /** @cond */ /** Reserve _reserve bytes in the dbuff when passing it to another function