[Mew-dist 2177] utime for WinNT.

Shuichi Kitaguchi shuuic-k at example.com
1997年 9月 21日 (日) 18:50:13 JST


北口@奈良先端大 です。

前に「Win32 上では refile した後 "g" で移動しても update の
表示がなされない」という問題で、「ディレクトリの日付が変えられ
ないから」だったわけですが、調べてみると NT では変えることが
できるみたいです(95 ではディレクトリを CreateFile できないから、
今回やった方法では無理のはずです。また別の方法がないか調べて
みますが)。というわけでパッチとコマンドを作ってみました。

パッチは im-71 用で、コマンドは
  http://fukuda.aist-nara.ac.jp/~shuuic-k/mew/utime.exe
に置いてあります...が、今現在サーバが不調で見れないようです。
モノは置いてありますので、サーバが直っていたら取れるように
なると思います。

ちなみにこの utime.exe に汎用性はなく、LastAccessTime と
LastWriteTime を現時刻に変更するだけです。


--==| Shuichi Kitaguchi : shuuic-k at example.com |
    |     / kit at example.com / shkit at example.com |==--
-------------- next part --------------
*** Config.pm.in.original	Sun Sep 21 17:50:47 1997
--- Config.pm.in	Sun Sep 21 18:25:29 1997
***************
*** 95,103 ****
  my $osname = $^O;
  
  if ($osname =~ /win/i) {
!     $OS = 'WIN95';
! } elsif ($osname =~ /wnt/i) { #xxx
!     $OS = 'WNT';
  } elsif ($osname =~ /os2/i) {
      $OS = 'OS/2';
  } else {
--- 95,107 ----
  my $osname = $^O;
  
  if ($osname =~ /win/i) {
!     if (Win32::IsWinNT()) {
! 	$OS = 'WNT';
!     } elsif (Win32::IsWin95()) {
! 	$OS = 'WIN95';
!     } else {
! 	$OS = 'WIN95';		# xxx
!     }
  } elsif ($osname =~ /os2/i) {
      $OS = 'OS/2';
  } else {
***************
*** 113,119 ****
  }
  
  sub win95p {
!     if ($OS eq 'WIN95') {
  	return 1;
      } else {
  	return 0;
--- 117,123 ----
  }
  
  sub win95p {
!     if (($OS eq 'WIN95') || ($OS eq 'WNT') ){
  	return 1;
      } else {
  	return 0;
*** Folder.pm.in.original	Sun Sep 21 17:50:31 1997
--- Folder.pm.in	Sun Sep 21 18:02:17 1997
***************
*** 369,380 ****
  }
  
  sub touch_folder ($) {
!     return unless(&os2p);
!     my ($dir) = shift;
!     $dir =~ s/\/\d+$//;
!     $dir = &expand_path($dir);
!     my $now = time;	# XXX
!     utime ($now, $now, $dir);
  }
  
  1;
--- 369,386 ----
  }
  
  sub touch_folder ($) {
!     if (&wntp){
! 	my ($dir) = shift;
! 	$dir =~ s/\/\d+$//;
! 	$dir = &expand_path($dir);
! 	system "utime $dir";
!     } elsif (&os2p) {
! 	my ($dir) = shift;
! 	$dir =~ s/\/\d+$//;
! 	$dir = &expand_path($dir);
! 	my $now = time;	# XXX
! 	utime ($now, $now, $dir);
!     }
  }
  
  1;


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