On Thu, 1 Apr 2004, Greg Obleshchuk wrote:

>Hi , Can anyone tell me if you can manually create a va_list object.  I
>have in my wrapper now the sqlite_vmprintf function but as .NET doesn't
>support the ... as a parameter I had to use a [ParamArray] .  Currently I
>am testing the number of parameters passed and calling sqlite_vmprintf
>different ways.  If I could create a va_list and just pass the object it
>would be a one line call.

va_list is an opaque type as far as the C standard is concerned.

How it is implemented is a platform detail of the compiler, and should
not be messed with.

Looking at the gcc 3.3 stdarg.h on my Linux box, va_list isn't even a
structure, but a typedef for an internal __gnuc_va_list type, which is
manipulated by internal gcc functions.

In other words, even if you think you know how a va_list is implemented on
your platform, don't go there. A world of pain awaits.

Instead, look at what you're using the va_list for. C generally needs it
because it's string handling is poor and *printf is the easiest way to
build strings from templates. By .NET I presume you're using C#, which
should have proper strings and not need the *printf hacks used in C.


>
>thanks
>Greg O


Christian

-- 
    /"\
    \ /    ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
     X                           - AGAINST MS ATTACHMENTS
    / \

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to