[Mew-dist 11986] Y2K patch for im-13[34] (Re: Re: im-133 y2k bugfix)

SAITO Tetsuya ( さいとてつや ) saito at example.com
2000年 1月 5日 (水) 04:21:23 JST


さいとです.

http://www.sun.co.jp/y2000/develop/devguide-j.html なんてのを見ていた
ら,

・年号を 2 桁で表記する必要がある場合は、00〜68 を 2000〜2068、69〜99
  を 1969〜1999 としてそれぞれ定義します。 

というのもありました.いろいろあるんですね(^^;).

From: Koga Youichirou <y-koga at example.com>
Subject: [Mew-dist 11983] Re: im-133 y2k bugfix (Fw: [Kondara-devel:01032])
Date: Tue, 4 Jan 2000 21:35:29 +0900
Message-Id:<200001041235.VAA13881 at example.com>

y-koga> 3桁については、draft-ietf-drums-msg-fmt-07.txt の処理を採用するのがい
y-koga> いかな?
(中略)
y-koga> これにしたがうならば、
y-koga>     } elsif ($year < 100) {
y-koga> ではなく、
y-koga>     } elsif ($year < 1000) {
y-koga> とするのがよさそうですね。

ちゃんと書かれていたんですね.すいません,読んでませんでした(^^;).
「送信は厳密に,受信は寛容に」(でしたっけ?)にもマッチしてるので,こ
れで良さげですね.

村田さんが [Mew-dist 11960] で投稿された 1 桁対応パッチも含めてまとめ
ました.パッチは煮るなり焼くなりご自由にどうぞ.

-- 
さいとてつや (saito at example.com)
-------------- next part --------------
*** IM/Scan.pm.orig	Sun Jan  2 21:01:45 2000
--- IM/Scan.pm	Wed Jan  5 03:58:16 2000
***************
*** 435,445 ****
  	}
  
  	$href->{'date:'} = sprintf "%s, %d %s %d %02d:%02d:%02d %s",
! 			$WSTR[$wday], $mday, $MSTR[$mon], $year,
  			$hour, $min, $sec, $tz;
      }
  
!     $href->{'date:'} =~ /(\d\d?)\s+([A-Za-z]+)\s+(\d\d\d?\d?)\s/;
      my ($mday, $monthstr, $year) = ($1, "\u\L$2", $3);
      my $mon = $MSTR2NUM->{$monthstr};
  
--- 435,445 ----
  	}
  
  	$href->{'date:'} = sprintf "%s, %d %s %d %02d:%02d:%02d %s",
! 			$WSTR[$wday], $mday, $MSTR[$mon], $year + 1900,
  			$hour, $min, $sec, $tz;
      }
  
!     $href->{'date:'} =~ /(\d\d?)\s+([A-Za-z]+)\s+(\d\d?\d?\d?)\s/;
      my ($mday, $monthstr, $year) = ($1, "\u\L$2", $3);
      my $mon = $MSTR2NUM->{$monthstr};
  
***************
*** 449,457 ****
  	$sec = $1;
      }
  
!     if ($year < 70) {
  	$year += 2000;
!     } elsif ($year < 100) {
  	$year += 1900;
      }
      $href->{'year:'} = $year;
--- 449,457 ----
  	$sec = $1;
      }
  
!     if ($year < 50) {
  	$year += 2000;
!     } elsif ($year < 1000) {
  	$year += 1900;
      }
      $href->{'year:'} = $year;


Mew-dist メーリングリストの案内