~ubuntu-branches/ubuntu/karmic/grace/karmic

« back to all changes in this revision

Viewing changes to src/utils.c

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2005-01-07 19:11:41 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20050107191141-hnwj3sa0kg7eg4vy
Tags: 1:5.1.18-1
* new upstream release
* added Conflicts: grace6

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 * Home page: http://plasma-gate.weizmann.ac.il/Grace/
5
5
 * 
6
6
 * Copyright (c) 1991-1995 Paul J Turner, Portland, OR
7
 
 * Copyright (c) 1996-2001 Grace Development Team
 
7
 * Copyright (c) 1996-2002 Grace Development Team
8
8
 * 
9
 
 * Maintained by Evgeny Stambulchik <fnevgeny@plasma-gate.weizmann.ac.il>
 
9
 * Maintained by Evgeny Stambulchik
10
10
 * 
11
11
 * 
12
12
 *                           All Rights Reserved
515
515
    double arcmin, arcsec;
516
516
    int exponent;
517
517
    double mantissa;
 
518
    int yprec;
 
519
    
 
520
    if (two_digits_years_allowed()) {
 
521
        yprec = 2;
 
522
    } else {
 
523
        yprec = 4;
 
524
    }
518
525
 
519
526
    /* for locale decimal points */
520
527
    set_locale_num(TRUE);
647
654
        }
648
655
        break;
649
656
    case FORMAT_DDMMYY:
650
 
        strcpy(format, "%02d-%02d-%d");
 
657
        strcpy(format, "%02d-%02d-%0*d");
651
658
        jul_to_cal_and_time(loc, ROUND_DAY, &y, &m, &d, &h, &mm, &sec);
652
 
        sprintf(s, format, d, m, y);
 
659
        sprintf(s, format, d, m, yprec, y);
653
660
        break;
654
661
    case FORMAT_MMDDYY:
655
 
        strcpy(format, "%02d-%02d-%d");
 
662
        strcpy(format, "%02d-%02d-%0*d");
656
663
        jul_to_cal_and_time(loc, ROUND_DAY, &y, &m, &d, &h, &mm, &sec);
657
 
        sprintf(s, format, m, d, y);
 
664
        sprintf(s, format, m, d, yprec, y);
658
665
        break;
659
666
    case FORMAT_YYMMDD:
660
 
        strcpy(format, "%d-%02d-%02d");
 
667
        strcpy(format, "%0*d-%02d-%02d");
661
668
        jul_to_cal_and_time(loc, ROUND_DAY, &y, &m, &d, &h, &mm, &sec);
662
 
        sprintf(s, format, y, m, d);
 
669
        sprintf(s, format, yprec, y, m, d);
663
670
        break;
664
671
    case FORMAT_MMYY:
665
 
        strcpy(format, "%02d-%d");
 
672
        strcpy(format, "%02d-%0*d");
666
673
        jul_to_cal_and_time(loc, ROUND_MONTH, &y, &m, &d, &h, &mm, &sec);
667
 
        sprintf(s, format, m, y);
 
674
        sprintf(s, format, m, yprec, y);
668
675
        break;
669
676
    case FORMAT_MMDD:
670
677
        strcpy(format, "%02d-%02d");
699
706
        }
700
707
        break;
701
708
    case FORMAT_MONTHSY:
702
 
        strcpy(format, "%s-%d");
 
709
        strcpy(format, "%s-%0*d");
703
710
        jul_to_cal_and_time(loc, ROUND_MONTH, &y, &m, &d, &h, &mm, &sec);
704
711
        if (m - 1 < 0 || m - 1 > 11) {
705
712
            sprintf(s, format, "???");
706
713
        } else {
707
 
            sprintf(s, format, months[m - 1], y);
 
714
            sprintf(s, format, months[m - 1], yprec, y);
708
715
        }
709
716
        break;
710
717
    case FORMAT_MONTHL:
746
753
        sprintf(s, format, m, d, y, h, mm, sec);
747
754
        break;
748
755
    case FORMAT_YYMMDDHMS:
749
 
        strcpy(format, "%d-%02d-%02d %02d:%02d:%02d");
 
756
        strcpy(format, "%0*d-%02d-%02d %02d:%02d:%02d");
750
757
        jul_to_cal_and_time(loc, ROUND_SECOND, &y, &m, &d, &h, &mm, &sec);
751
 
        sprintf(s, format, y, m, d, h, mm, sec);
 
758
        sprintf(s, format, yprec, y, m, d, h, mm, sec);
752
759
        break;
753
760
    case FORMAT_DEGREESLON:
754
761
        if (loc < 0.0) {