C to D conversion for function

1100110 1100110 at gmail.com
Mon Apr 29 05:17:43 PDT 2013


On 04/29/2013 06:50 AM, Timon Gehr wrote:
> On 04/29/2013 12:57 PM, Sumit Raja wrote:
>> Hi,
>>
>> I wanted some help in converting this
>>
>> void av_log_ask_for_sample(void *avc, const char *msg, ...)
>> av_printf_format(2, 3);
>>
>> from C to D.
>>
>> I don't know what it means or is called in C to start with so I am a bit
>> lost on what to search for.
>>
>> Thanks
>>
>> Sumit
> 
> av_printf_format is a preprocessor macro that expands to a built-in
> compiler attribute which enables compile-time printf-style format string
> checking. There is no support for such a feature in any D compiler.
> 
> You want
> 
> void av_log_ask_for_sample(void* avc, const(char)* msg, ...);
> 
> 
> In case you want to preserve the attribute:
> 
> struct av_printf_format{ int fmtpos, attrpos; }
> 
> @av_printf_format(2, 3) void av_log_ask_for_sample(void* avc,
> const(char)* msg, ...);
> 

What is the difference between const(char)*, and const(char*)?  I have
seen them used pretty much interchangeably...

Are they? Somehow I don't think they are.


More information about the Digitalmars-d-learn mailing list