mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-04-07 19:14:17 +00:00
Add catv() function
This commit is contained in:
parent
e6575cb369
commit
b739bfd572
16
log.c
16
log.c
@ -18,6 +18,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "serval.h"
|
||||
#include "strbuf.h"
|
||||
#include <ctype.h>
|
||||
|
||||
int debug = 0;
|
||||
|
||||
@ -88,6 +90,20 @@ int dump(char *name, unsigned char *addr, int len)
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *catv(const char *data, char *buf, size_t len)
|
||||
{
|
||||
strbuf b = strbuf_local(buf, len);
|
||||
for (; *data && !strbuf_overrun(b); ++data) {
|
||||
if (*data == '\n') strbuf_puts(b, "\\n");
|
||||
else if (*data == '\r') strbuf_puts(b, "\\r");
|
||||
else if (*data == '\t') strbuf_puts(b, "\\t");
|
||||
else if (*data == '\\') strbuf_puts(b, "\\\\");
|
||||
else if (isprint(*data)) strbuf_putc(b, *data);
|
||||
else strbuf_sprintf(b, "\\x%02x", *data);
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
int dumpResponses(struct response_set *responses)
|
||||
{
|
||||
struct response *r;
|
||||
|
1
serval.h
1
serval.h
@ -757,6 +757,7 @@ int setReason(char *fmt, ...);
|
||||
void logMessage(int level, char *fmt, ...);
|
||||
void vlogMessage(int level, char *fmt, va_list);
|
||||
long long debugFlagMask(const char *flagname);
|
||||
char *catv(const char *data, char *buf, size_t len);
|
||||
int dump(char *name,unsigned char *addr,int len);
|
||||
|
||||
#define FATALF(F,...) do { logMessage(LOG_LEVEL_FATAL, "%s:%d:%s() " F, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); exit(-1); } while(1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user