This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug localedata/4789] incorrect abmon in polish locales


------- Additional Comments From Arfrever dot FTA at GMail dot Com  2007-07-21 18:01 -------
(In reply to comment #36)
> http://search.cpan.org/src/YVES/Date-Simple-3.02/lib/Date/Simple.pm

%m is used only in this real code:
BEGIN {
    our $Standard_Format="%Y-%m-%d";
(...)

%b and %m are also used in documentation.

> http://doxygen.postgresql.org/strftime_8c-source.html

%b is used in comments and struct elements.
%m is used in struct elements and function static char* _fmt (const char* 
format, const struct pg_tm* t, char* pt, const char* ptlim, int* warnp).
When format contains "D", then pt = _fmt("%m/%d/%y", t, pt, ptlim, warnp);.
When format contains "F", then pt = _fmt("%Y-%m-%d", t, pt, ptlim, warnp);.
When format contains "v", then pt = _fmt("%e-%b-%Y", t, pt, ptlim, warnp);.
If format contains more than letter from set { "D", "F", "V"} , then the 
latter wins. There's no chance of using both %b and %m.

> http://plone.org/documentation/how-to/change-date-format

There's no %b.
%m is used only in these hints:
Another example: We want to change the date format to DD.MM.YYYY (17.01.2005):
Change localTimeFormat to %d.%m.%Y
Change localLongTimeFormat to %d.%m.%Y %H:%M

> 
http://uclibc.org/cgi-bin/viewcvs.cgi/trunk/busybox/date.c?rev=1695&view=markup

Some fragments of code (My comments are inside /* Arfrever's comment: */):
char *date_fmt = NULL;
if ((date_fmt == NULL) && (optind < argc) && (argv[optind][0] == '+'))
	date_fmt = &argv[optind][1];

/* Arfrever's comment: If user writes "+some string" e. g. "+%d.%m.%Y" in 
command line, then date_fmt will be set to this string with "+" skipped. */

if (date_fmt == NULL) {
	date_fmt = (rfc822
		? (utc
			? "%a, %_d %b %Y %H:%M:%S GMT"
			: "%a, %_d %b %Y %H:%M:%S %z")
		: "%a %b %e %H:%M:%S %Z %Y");

/* Arfrever's comment: If user doesn't write "+string" in command line and 
doesn't write "-R", then "%a %b %e %H:%M:%S %Z %Y" is used.
If user doesn't write "+string" in command line, but writes "-R" and 
writes "-u" in command line, then "%a, %_d %b %Y %H:%M:%S GMT" is used.
If user doesn't write "+string", writes "-R" and doesn't write "-u" in command 
line, then "%a, %_d %b %Y %H:%M:%S %z" is used. */

	} else if (*date_fmt == '\0') {
		/* Imitate what GNU 'date' does with NO format string! */
		printf("\n");
		return EXIT_SUCCESS;
	}	/* Arfrever's comment: See `date +` output. */

	/* Handle special conversions */

	if (strncmp(date_fmt, "%f", 2) == 0) {
	date_fmt = "%Y.%m.%d-%H:%M:%S";
	}
/* Arfrever's comment: If user writes "+string" in command line and this 
string begins with "%f", then "%Y.%m.%d-%H:%M:%S" is used.
See e. g. http://www.cppreference.com/stdstring/strncmp.html */


So it is possible to display both %b and %m, only if user writes both in 
command line inside +string argument, e. g. +"%b %m".

-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=4789

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]