X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib-ui%2Fcurs_lib.c;h=510eccf24e605893ba127fb9afb74d54574a4755;hb=3242c00b2d3f7f1c1554bcebfb8a390fddea095f;hp=fb65b648c860c2c3e6d95d918764d142449ec53a;hpb=1ee89902de184a640c171ae3285bff6882a791bd;p=apps%2Fmadmutt.git diff --git a/lib-ui/curs_lib.c b/lib-ui/curs_lib.c index fb65b64..510eccf 100644 --- a/lib-ui/curs_lib.c +++ b/lib-ui/curs_lib.c @@ -145,7 +145,7 @@ void mutt_edit_file (const char *editor, const char *data) char cmd[LONG_STRING]; mutt_endwin (NULL); - mutt_expand_file_fmt (cmd, sizeof (cmd), editor, data); + m_quotefile_fmt(cmd, sizeof (cmd), editor, data); if (mutt_system (cmd) == -1) mutt_error (_("Error running \"%s\"!"), cmd); keypad (stdscr, TRUE); @@ -279,7 +279,7 @@ void mutt_curses_error (const char *fmt, ...) } void mutt_progress_bar (progress_t* progress, long pos) { - char posstr[SHORT_STRING]; + char posstr[STRING]; if (!pos) { if (!NetInc) @@ -402,7 +402,7 @@ int mutt_do_pager (const char *banner, char cmd[STRING]; mutt_endwin (NULL); - mutt_expand_file_fmt (cmd, sizeof (cmd), Pager, tempfile); + m_quotefile_fmt(cmd, sizeof (cmd), Pager, tempfile); if (mutt_system (cmd) == -1) { mutt_error (_("Error running \"%s\"!"), cmd); rc = -1; @@ -443,7 +443,7 @@ int _mutt_enter_fname (const char *prompt, char *buf, ssize_t blen, else { char *pc = p_new(char, m_strlen(prompt) + 3); - sprintf (pc, "%s: ", prompt); /* __SPRINTF_CHECKED__ */ + sprintf(pc, "%s: ", prompt); mutt_ungetch (ch.op ? 0 : ch.ch, ch.op ? ch.op : 0); if (_mutt_get_field (pc, buf, blen, (buffy ? M_EFILE : M_FILE) | M_CLEAR, multiple, files, @@ -550,6 +550,24 @@ int mutt_addwch (wchar_t wc) return addstr (buf); } +ssize_t mutt_pretty_size(char *s, ssize_t len, ssize_t n) +{ + if (n == 0) + return m_strcpy(s, len, "0K"); + + if (n < 10189) /* 0.1K - 9.9K */ + return snprintf(s, len, "%3.1fK", (n < 103) ? 0.1 : n / 1024.0); + + if (n < 1023949) /* 10K - 999K */ + /* 51 is magic which causes 10189/10240 to be rounded up to 10 */ + return snprintf(s, len, "%ldK", (n + 51) / 1024); + + if (n < 10433332) /* 1.0M - 9.9M */ + return snprintf(s, len, "%3.1fM", n / 1048576.0); + + /* (10433332 + 52428) / 1048576 = 10 */ + return snprintf (s, len, "%ldM", (n + 52428) / 1048576); +} /* * This formats a string, a bit like @@ -591,7 +609,7 @@ void mutt_format_string (char *dest, ssize_t destlen, break; min_width -= w; max_width -= w; - strncpy (p, scratch, k2); + m_strncpy(p, destlen, scratch, k2); p += k2; destlen -= k2; }