View | Details | Raw Unified | Return to bug 20159
Collapse All | Expand All

(-)strftime.c (+25 lines)
Lines 388-393 Link Here
388
				pt = _conv(t->tm_year + TM_YEAR_BASE, "%04d",
388
				pt = _conv(t->tm_year + TM_YEAR_BASE, "%04d",
389
					pt, ptlim);
389
					pt, ptlim);
390
				continue;
390
				continue;
391
#ifdef ISO8601_TIMEZONES
392
			case 'z':
393
				{
394
					long	offabs;
395
					int	offhr;
396
					int	offmin;
397
					char	offsign[2];
398
399
					offsign[1] = '\0';
400
					if (t->tm_gmtoff < 0) {
401
						*offsign = '-';
402
						offabs = - t->tm_gmtoff;
403
					} else {
404
						*offsign = '+';
405
						offabs = t->tm_gmtoff;
406
					}
407
					offhr = offabs / 3600;
408
					offmin = (offabs - offhr*3600) / 60;
409
410
					pt = _add(offsign, pt, ptlim);
411
					pt = _conv(offhr, "%02d", pt, ptlim);
412
					pt = _conv(offmin, "%02d", pt, ptlim);
413
				}
414
				continue;
415
#endif /* defined ISO8601_TIMEZONES */
391
			case 'Z':
416
			case 'Z':
392
				if (t->tm_zone != NULL)
417
				if (t->tm_zone != NULL)
393
					pt = _add(t->tm_zone, pt, ptlim);
418
					pt = _add(t->tm_zone, pt, ptlim);

Return to bug 20159