If library developers (clib, foolib, whatever) didn't see a need for order in strings, I don't see any reason why APR should take this as an excuse.
Here is my proposal. partly stolen from strftime(3) manpage.
NAME
strfsize - format sizeSYNOPSIS
#include <apr_util.h> size_t strftime(char *s, apr_int64_t max,
const char *format, apr_int64_t size);DESCRIPTION
The strfsize() function formats the size according to the format specification and places the result in the character array s of size max.
Ordinary characters placed in the format string are copied to s without conversion. Conversion specifiers are introduced by a `%' character, and are replaced in s as follows:
%b Binary representation (i.e. convert a decimal number into 2^x number)
%f File size (filesystem limits apply, sizes bigger than apr_off_t, marked as "Huge")
%c Characters (how many, utf aware?)
%... hex, oct, etc
so now you have a single function for formatting strings and you specify the format for whatever you want. You can add wrappers on top of it, to hide the format argument to make things simpler. If in the future someone wants to add new formats, we add these without arguing about the name for the new function.
I already have a good use for this formatting argument. Here is an example:
%i use kib, mib, gib ending strings
%k use kb, mb, gb ending strings
%I use KiB, MiB, GiB ending strings
%K use KB, MB, GIB ending strings
%0 no 'i?B' ending at all.So you can say "%b %I" and you get "101MiB"
if you say "%b %K" you get "101MB"
if you say "%b %0" you get "101M"
And who knows may be one day we will see strfsize(3) manpage, sitting next to strftime(3).
_____________________________________________________________________ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://ticketmaster.com http://apacheweek.com http://singlesheaven.com http://perl.apache.org http://perlmonth.com/
