'+---------------+---------------------------------------------------+
'| ###### ###### |     .--. .         .-.                            |
'| ##  ## ##   # |     |   )|        (   ) o                         |
'| ##  ##  ##    |     |--' |--. .-.  `-.  .  .-...--.--. .-.        |
'| ######   ##   |     |  \ |  |(   )(   ) | (   ||  |  |(   )       |
'| ##      ##    |     '   `'  `-`-'  `-'-' `-`-`|'  '  `-`-'`-      |
'| ##     ##   # |                            ._.'                   |
'| ##     ###### |  Sources & Documents placed in the Public Domain. |
'+---------------+---------------------------------------------------+
'|                                                                   |
'| === qbstdarg.bm ===                                               |
'|                                                                   |
'| == The SUBs and FUNCTIONs to emulate a va_list in a QB64 string.  |
'|                                                                   |
'+-------------------------------------------------------------------+
'| Done by RhoSigma, R.Heyder, provided AS IS, use at your own risk. |
'| Find me in the QB64 Forum or mail to support@rhosigma-cw.net for  |
'| any questions or suggestions. Thanx for your interest in my work. |
'+-------------------------------------------------------------------+

Variable args building


The following routines do provide the interface to setup a variable arguments list (va_list) within a regular QB64 string. Such va_list parameters are used by many C/C++ functions (eg. stdio functions).

Once setup, any va_list remains valid and keeps all its values until it is freed again, hence you don't need to deal with typical BASIC language issues such as strings moving in memory or temporary values.


Table of Contents

INIT & CLEANUP

ADD ARGUMENTS

GET ARGUMENT LIST