#ifndef lint
static const char rcsid[] =
- "@(#) $Header: /tcpdump/master/tcpdump/print-icmp6.c,v 1.11 2000-05-15 06:22:16 itojun Exp $";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-icmp6.c,v 1.12 2000-05-15 06:27:02 itojun Exp $";
#endif
#ifdef HAVE_CONFIG_H
printf(", \"");
while (cp < ep) {
i = *cp++;
- while (i-- && cp < ep) {
- safeputc(*cp);
- cp++;
- }
- if (cp + 1 < ep && *cp)
+ if (i) {
+ if (i > ep - cp) {
+ printf("???");
+ break;
+ }
+ while (i-- && cp < ep) {
+ safeputc(*cp);
+ cp++;
+ }
+ if (cp + 1 < ep && *cp)
+ printf(".");
+ } else {
+ /* terminating dot */
printf(".");
+ }
}
printf("\"");
}
printf(", \"");
while (cp < ep) {
i = *cp++;
- if (i > ep - cp) {
- printf("???");
- break;
- }
- while (i-- && cp < ep) {
- safeputc(*cp);
- cp++;
- }
- if (cp + 1 < ep && *cp)
+ if (i) {
+ if (i > ep - cp) {
+ printf("???");
+ break;
+ }
+ while (i-- && cp < ep) {
+ safeputc(*cp);
+ cp++;
+ }
+ if (cp + 1 < ep && *cp)
+ printf(".");
+ } else {
+ /* terminating dot */
printf(".");
+ }
}
printf("\"");
}