+is zero then no change is needed.
+If the buffer is broken, then
+.B buf_align
+immediately returns null.
+Otherwise, it sets
+.BI * sz_out
+to the number of bytes \(en possibly zero \(en
+by which the position would have to advance
+in order to achieve the requested alignment.
+If there is sufficient space remaining in the buffer,
+then the current position is advanced,
+and the old position is returned;
+otherwise, the buffer is broken and a null pointer is returned.
+The
+.B buf_alignskip
+function
+simply advances the buffer position
+until the designed alignment is achieved:
+the buffer contents are not altered.