X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=blobdiff_plain;f=util.c;h=3bfa6bb81afbca72ef26aed0741f62e10b8eeaee;hp=8c23485c059581cbb2aef2c1d8c40628dbaeecaa;hb=7d8d39dc3418b0e709b76f08eb08ab7668239207;hpb=3abd18e85781e00e2b7fc641f29c99e130238abf diff --git a/util.c b/util.c index 8c23485..3bfa6bb 100644 --- a/util.c +++ b/util.c @@ -394,7 +394,7 @@ void send_nak(const struct comm_addr *dest, uint32_t our_index, if (logwhy) Message(M_INFO,"%s: %08"PRIx32"<-%08"PRIx32": %08"PRIx32":" " %s; sending NAK\n", - dest->comm->addr_to_string(dest->comm->st,dest), + comm_addr_to_string(dest), our_index, their_index, msgtype, logwhy); dest->comm->sendmsg(dest->comm->st, buf, dest); } @@ -435,3 +435,30 @@ int32_t calculate_max_start_pad(void) transform_max_start_pad + comm_max_start_pad; } + +void vslilog_part(struct log_if *lf, int priority, const char *message, va_list ap) +{ + char *buff=lf->buff; + size_t bp; + char *nlp; + + bp=strlen(buff); + assert(bp < LOG_MESSAGE_BUFLEN); + vsnprintf(buff+bp,LOG_MESSAGE_BUFLEN-bp,message,ap); + buff[LOG_MESSAGE_BUFLEN-1] = '\n'; + buff[LOG_MESSAGE_BUFLEN] = '\0'; + /* Each line is sent separately */ + while ((nlp=strchr(buff,'\n'))) { + *nlp=0; + slilog(lf,priority,"%s",buff); + memmove(buff,nlp+1,strlen(nlp+1)+1); + } +} + +extern void slilog_part(struct log_if *lf, int priority, const char *message, ...) +{ + va_list ap; + va_start(ap,message); + vslilog_part(lf,priority,message,ap); + va_end(ap); +}