digitalmars.D.learn - C to D conversion for function
- Sumit Raja (9/9) Apr 29 2013 Hi,
- Timon Gehr (10/19) Apr 29 2013 av_printf_format is a preprocessor macro that expands to a built-in
- 1100110 (4/37) Apr 29 2013 What is the difference between const(char)*, and const(char*)? I have
- Timon Gehr (10/14) Apr 29 2013 Variables of type const(char)* can be mutated, while const(char*) cannot...
- Sumit Raja (2/6) Apr 29 2013 Thanks. What does @av_printf_format(2, 3) do to the function?
- Timon Gehr (3/11) Apr 29 2013 Nothing except attaching a piece of data to it
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
Apr 29 2013
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 Sumitav_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, ...);
Apr 29 2013
On 04/29/2013 06:50 AM, Timon Gehr wrote:On 04/29/2013 12:57 PM, Sumit Raja wrote: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.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 Sumitav_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, ...);
Apr 29 2013
On 04/29/2013 02:17 PM, 1100110 wrote:... 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.Variables of type const(char)* can be mutated, while const(char*) cannot be. void main(){ const(char)* a = "123".ptr; *a = 2; // error a = "456".ptr; // ok const(char*) b = "123".ptr; *b = 2; // error b = "456".ptr; // error }
Apr 29 2013
On Monday, 29 April 2013 at 11:50:21 UTC, Timon Gehr wrote: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, ...);Thanks. What does av_printf_format(2, 3) do to the function?
Apr 29 2013
On 04/29/2013 02:24 PM, Sumit Raja wrote:On Monday, 29 April 2013 at 11:50:21 UTC, Timon Gehr wrote:Nothing except attaching a piece of data to it http://dlang.org/attribute.html#UserDefinedAttributeIn 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, ...);Thanks. What does av_printf_format(2, 3) do to the function?
Apr 29 2013