[Mew-dist 1204] Re: utime() when imget,immv (,imrm)

OKUNISHI Fujikazu fuji0924 at example.com
1997年 7月 6日 (日) 23:18:30 JST


>>>>> "Sun, 06 Jul 1997 15:58:46 +0900" に発信されたメッセージ
>>>>> <19970706155846S.fuji0924 at example.com> にて
>>>>> "" == OKUNISHI Fujikazu <fuji0924 at example.com> が仰るには..

> imget でファイルを生成した時と immv した時の --dst のターゲットフォル
> ダのタイムスタンプをアップデートしたいのですが,具体的にはどう変更すれ
> ばいいでしょうか?
> というのは,`g' で移動した時にサマリのアップデートを促してくれるので。

perl の練習がてら,ちょろっとやってみました。
immv だけですけど,所望の動作はしています。おかしなところは直して戴け
ると嬉しいです。imget はわかりません。

Config.pm でなく Folder.pm に入れるべきかもしれないと思いつつ,そのま
まにしておきます。

;; C-cM にも割り当て直そうかなと思う今日この頃..(^_^;
--
(ふ)
-------------- next part --------------
--- immv.in.orig	Sun Jul 06 23:02:36 1997
+++ immv.in	Sun Jul 06 22:54:32 1997
@@ -109,16 +109,24 @@
 	}
 	if ($opt_link){
 	    $opt_noharm ? print "ln $src_path $dst_path\n" :
-		link($src_path, $dst_path) || die $@;      # XXX
+		im_link($src_path, $dst_path) || die $@;      # XXX
+		# XXX utime test
+		im_utime ($dst_path);      # XXX update timestamp
 	} elsif ($link_it){
 	    $opt_noharm ? print "ln $link_it $dst_path\n"  :
-		link($link_it, $dst_path) || die $@;       # XXX
+		im_link($link_it, $dst_path) || die $@;       # XXX
+		# XXX utime test
+		im_utime ($dst_path);      # XXX update timestamp
 	} else {
 	    $opt_noharm ? print "mv $src_path $dst_path\n" :
 		rename($src_path, $dst_path) || die $@;    # XXX
+		# XXX utime test
+		im_utime ($dst_path);      # XXX update timestamp
 	}
 	if (! $link_it){
 	    $link_it = $dst_path;
+		# XXX utime test
+		im_utime ($dst_path);      # XXX update timestamp
 	}
     }
 }
-------------- next part --------------
--- Config.pm.in.orig	Wed Jul 02 00:06:54 1997
+++ Config.pm.in	Sun Jul 06 22:59:58 1997
@@ -39,7 +39,7 @@
         aliases_file context_file
         address addresses_regex
 	unixp win95p wntp os2p
-	im_msg im_err im_warn im_die);
+	im_msg im_err im_warn im_die im_link im_utime);
 
 ##
 ## Constant
@@ -687,3 +687,21 @@
 	}
 	return $folder;
 }
+
+sub im_link { 
+  if (os2p()) {
+  eval 'use File::Copy';
+  return &copy;
+  } else {
+  return &link;
+  }
+ }
+
+sub im_utime {
+  $target = $_[0];
+  $lp = rindex $target,"/";
+  $target_dir = substr $target,0,$lp;
+  $now = time;
+  utime $now,$now,$target_dir;
+ }
+


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