writef: split into writef() and writefv()
This commit is contained in:
parent
b2597fb5da
commit
4273c703e9
@ -33,9 +33,9 @@ struct Console
|
|||||||
*/
|
*/
|
||||||
public static void writef(string s, va_list args)
|
public static void writef(string s, va_list args)
|
||||||
{
|
{
|
||||||
hulk.writef.writef(s, args, function void(ubyte ch) {
|
hulk.writef.writefv(function void(ubyte ch) {
|
||||||
Console.write(ch);
|
Console.write(ch);
|
||||||
});
|
}, s, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,9 +40,9 @@ struct Klog
|
|||||||
*/
|
*/
|
||||||
public static void writef(string s, va_list args)
|
public static void writef(string s, va_list args)
|
||||||
{
|
{
|
||||||
hulk.writef.writef(s, args, function void(ubyte ch) {
|
hulk.writef.writefv(function void(ubyte ch) {
|
||||||
Console.write(ch);
|
Console.write(ch);
|
||||||
});
|
}, s, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,9 +40,9 @@ struct Serial
|
|||||||
*/
|
*/
|
||||||
public static void writef(string s, va_list args)
|
public static void writef(string s, va_list args)
|
||||||
{
|
{
|
||||||
hulk.writef.writef(s, args, function void(ubyte ch) {
|
hulk.writef.writefv(function void(ubyte ch) {
|
||||||
Serial.write(ch);
|
Serial.write(ch);
|
||||||
});
|
}, s, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -10,13 +10,13 @@ alias ch_out_fn = void function(ubyte);
|
|||||||
/**
|
/**
|
||||||
* Format a string and write characters to the given output function.
|
* Format a string and write characters to the given output function.
|
||||||
*
|
*
|
||||||
|
* @param ch_out Character output function.
|
||||||
* @param s Format string.
|
* @param s Format string.
|
||||||
* @param args Variable arguments structure.
|
* @param args Variable arguments structure.
|
||||||
* @param ch_out Character output function.
|
|
||||||
*
|
*
|
||||||
* @return Number of characters written.
|
* @return Number of characters written.
|
||||||
*/
|
*/
|
||||||
size_t writef(string s, va_list args, ch_out_fn ch_out)
|
size_t writefv(ch_out_fn ch_out, string s, va_list args)
|
||||||
{
|
{
|
||||||
size_t length_written;
|
size_t length_written;
|
||||||
bool escape = false;
|
bool escape = false;
|
||||||
@ -90,6 +90,23 @@ size_t writef(string s, va_list args, ch_out_fn ch_out)
|
|||||||
return length_written;
|
return length_written;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Format a string and write characters to the given output function.
|
||||||
|
*
|
||||||
|
* @param ch_out Character output function.
|
||||||
|
* @param s Format string.
|
||||||
|
*
|
||||||
|
* @return Number of characters written.
|
||||||
|
*/
|
||||||
|
extern(C) size_t writef(ch_out_fn ch_out, string s, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
va_start(args, s);
|
||||||
|
size_t rv = writefv(ch_out, s, args);
|
||||||
|
va_end(args);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Format a value in hexadecimal to the given output function.
|
* Format a value in hexadecimal to the given output function.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user