aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/osi-utils.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/epan/osi-utils.c b/epan/osi-utils.c
index 6aa79268aa..d077141313 100644
--- a/epan/osi-utils.c
+++ b/epan/osi-utils.c
@@ -186,26 +186,25 @@ print_area_buf(const guint8 *ad, int length, gchar *buf, int buf_len)
g_snprintf(buf, buf_len, "%02x.%02x%02x", ad[0], ad[1], ad[2] );
return;
}
- if(length == 4)
- {
+ if ( length == 4 ) {
g_snprintf(buf, buf_len, "%02x%02x%02x%02x", ad[0], ad[1], ad[2], ad[3] );
- }
- while ( tmp < length / 4 ) { /* 16/4==4 > four Octets left to print */
- cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x", ad[tmp++] );
- cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x", ad[tmp++] );
+ return;
+ }
+ while ( tmp < length / 4 ) { /* 16/4==4 > four Octets left to print */
+ cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x", ad[tmp++] );
+ cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x", ad[tmp++] );
+ cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x", ad[tmp++] );
+ cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x.", ad[tmp++] );
+ }
+ if ( 1 == tmp ) { /* Special case for Designated IS */
+ cur--;
+ g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "-%02x", ad[tmp] );
+ }
+ else {
+ for ( ; tmp < length; ) { /* print the rest without dot or dash */
cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x", ad[tmp++] );
- cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x.", ad[tmp++] );
}
- if ( 1 == tmp ) { /* Special case for Designated IS */
- cur--;
- g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "-%02x", ad[tmp] );
- }
- else {
- for ( ; tmp < length; ) { /* print the rest without dot */
- cur += g_snprintf(cur, (gulong) (buf_len-(cur-buf)), "%02x", ad[tmp++] );
- }
- }
-
+ }
}
} /* print_area_buf */