const char * size_trunc_sep (uintmax_t size, gboolean use_si) { static char x[60]; int count; const char *p, *y; char *d; p = y = size_trunc (size, use_si); p += strlen (p) - 1; d = x + sizeof (x) - 1; *d-- = '\0'; while (p >= y && isalpha ((unsigned char) *p)) *d-- = *p--; for (count = 0; p >= y; count++) { if (count == 3) { *d-- = ','; count = 0; } *d-- = *p--; } d++; if (*d == ',') d++; return d; }
void view_status (WView *view) { char buffer [80]; if (view->hex_mode) sprintf (buffer, _("Offset 0x%08x"), view->edit_cursor); else sprintf (buffer, _("Col %d"), -view->start_col); if (strcmp (buffer, GTK_LABEL (view->gtk_offset)->label)) gtk_label_set (GTK_LABEL (view->gtk_offset), buffer); sprintf (buffer, _("%s bytes"), size_trunc (view->s.st_size)); if (strcmp (buffer, GTK_LABEL (view->gtk_bytes)->label)) gtk_label_set (GTK_LABEL (view->gtk_bytes), buffer); if (view->hex_mode) view_percent (view, view->edit_cursor - view->first, 0); else view_percent (view, view->start_display - view->first, 0); }
char *size_trunc_sep (double size) { static char x [60]; int count; char *p, *d, *y; p = y = size_trunc (size); p += strlen (p) - 1; d = x + sizeof (x) - 1; *d-- = 0; while (p >= y && isalpha ((unsigned char) *p)) *d-- = *p--; for (count = 0; p >= y; count++){ if (count == 3){ *d-- = ','; count = 0; } *d-- = *p--; } d++; if (*d == ',') d++; return d; }