From bf75c5fed27bb812a5309cc9ad04d85a28d69dc7 Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Tue, 13 May 2008 19:05:03 +0000 Subject: From: Luis Ontanon Fix errors from checkapi. svn path=/trunk/; revision=25287 --- wiretap/k12text.l | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'wiretap/k12text.l') diff --git a/wiretap/k12text.l b/wiretap/k12text.l index d832d6b588..1c440176df 100644 --- a/wiretap/k12text.l +++ b/wiretap/k12text.l @@ -259,6 +259,8 @@ static gboolean k12text_dump(wtap_dumper *wdh _U_, const struct wtap_pkthdr *phd const union wtap_pseudo_header *pseudo_header _U_, const guchar *pd, int *err _U_) { char buf[196808]; + size_t left = 196808; + gint wl; char* p=buf; const char* str_enc = ""; guint i; @@ -274,17 +276,24 @@ static gboolean k12text_dump(wtap_dumper *wdh _U_, const struct wtap_pkthdr *phd } strftime(p,90,"+---------+---------------+----------+\r\n%H:%M:%S,",gmtime(&phdr->ts.secs)); - p+= strlen(p); - sprintf(p,"%.3d,%.3d %s\r\n|0 |",ms,ns,str_enc); - p+= strlen(p); - - for(i=0;i < phdr->caplen; i++) { - sprintf(p,"%.2x|",pd[i]); - p+= 3; - } - - sprintf(p,"\r\n\r\n"); + wl = strlen(p); + p += wl; + left -= wl; + + wl = g_snprintf(p,left,"%.3d,%.3d %s\r\n|0 |",ms,ns,str_enc); + p+= wl; + left -= wl; + + for(i=0;i < phdr->caplen && left > 2; i++) { + wl = g_snprintf(p,left,"%.2x|",pd[i]); + p += wl; + left -= wl; + } + wl = g_snprintf(p,left,"\r\n\r\n"); + p+= wl; + left -= wl; + fwrite(buf, 1, strlen(buf), wdh->fh); return TRUE; -- cgit v1.2.3