silc_buffer_senlarge

SYNOPSIS

    static inline
    SilcBuffer silc_buffer_senlarge(SilcStack stack, SilcBuffer sb,
                                    SilcUInt32 size);

DESCRIPTION

Enlarges the buffer by the amount of `size' if it doesn't have that must space in the data area and in the tail area. Moves the tail area automatically after enlarging so that the current data area is at least the size of `size'. If there is more space than `size' in the data area this does not do anything. If there is enough space in the tail area this merely moves the tail area to reveal the extra space. Returns FALSE if system is out of memory.

This routine use SilcStack are memory source. If `stack' is NULL reverts back to normal allocating routine.

Note that this call consumes the `stack'. The caller should push the stack before calling the function and pop it later.