summaryrefslogtreecommitdiff
path: root/img/lib/IM/File.pm
diff options
context:
space:
mode:
Diffstat (limited to 'img/lib/IM/File.pm')
-rw-r--r--img/lib/IM/File.pm98
1 files changed, 60 insertions, 38 deletions
diff --git a/img/lib/IM/File.pm b/img/lib/IM/File.pm
index 0b6c1583..303ab310 100644
--- a/img/lib/IM/File.pm
+++ b/img/lib/IM/File.pm
@@ -5,10 +5,10 @@
###
### Author: Internet Message Group <img@mew.org>
### Created: Jul 7, 1997
-### Revised: Apr 14, 2000
+### Revised: Dec 7, 2002
###
-my $PM_VERSION = "IM::File.pm version 20000414(IM141)";
+my $PM_VERSION = "IM::File.pm version 20021207(IM142)";
package IM::File;
require 5.003;
@@ -24,24 +24,18 @@ use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(im_rename im_link im_unlink);
-## im_rename(path1, path2);
-## im_link (path1, path2);
-## im_unlink(path1);
-##
-## paths may be full-path or [+=]folder../../message.
-
use vars qw($CHECKED $USE_DB);
-sub im_rename ($$) {
- my ($p1, $p2) = @_;
- my ($m1, $m2);
- my ($ret);
+sub im_rename($$) {
+ my($p1, $p2) = @_;
+ my($m1, $m2);
+ my($ret);
($p1, $m1) = expand_path_and_msg($p1);
($p2, $m2) = expand_path_and_msg($p2);
- #my ($id) = get_msg_info($p1) if (!defined $id && !$main::opt_noharm);
+ #my($id) = get_msg_info($p1) if (!defined $id && !$main::opt_noharm);
#XXX???
- my ($id);
+ my($id);
if (defined($main::id) || $main::opt_noharm) {
$id = $main::id;
} else {
@@ -52,7 +46,7 @@ sub im_rename ($$) {
print "mv $p1 $p2\n";
$ret = 1;
} else {
- if (!($ret = rename($p1, $p2))){
+ if (!($ret = rename($p1, $p2))) {
$ret = copy($p1, $p2) && unlink($p1);
}
history_rename($id, $m1, $m2)
@@ -61,15 +55,15 @@ sub im_rename ($$) {
return $ret;
}
-sub im_link ($$) {
- my ($p1, $p2) = @_;
- my ($m1, $m2);
- my ($ret);
+sub im_link($$) {
+ my($p1, $p2) = @_;
+ my($m1, $m2);
+ my($ret);
($p1, $m1) = expand_path_and_msg($p1);
($p2, $m2) = expand_path_and_msg($p2);
- #my ($id) = get_msg_info($p1) if (!defined $id && !$main::opt_noharm);
- my ($id);
+ #my($id) = get_msg_info($p1) if (!defined $id && !$main::opt_noharm);
+ my($id);
if (defined($main::id) || $main::opt_noharm) {
$id = $main::id;
} else {
@@ -80,7 +74,7 @@ sub im_link ($$) {
print "ln $p1 $p2\n";
$ret = 1;
} else {
- if (win95p() || os2p() || wntp() || !($ret = link($p1, $p2))){
+ if (win95p() || os2p() || wntp() || !($ret = link($p1, $p2))) {
$ret = copy($p1, $p2);
}
history_link($id, $m1, $m2)
@@ -89,15 +83,14 @@ sub im_link ($$) {
return $ret;
}
-sub im_unlink ($)
-{
- my ($p1) = @_;
- my ($m1, $ret);
+sub im_unlink($) {
+ my($p1) = @_;
+ my($m1, $ret);
($p1, $m1) = expand_path_and_msg($p1);
- # my ($id) = get_msg_info($p1) if (!defined $id && !$main::opt_noharm);
- my ($id);
+ # my($id) = get_msg_info($p1) if (!defined $id && !$main::opt_noharm);
+ my($id);
if (defined($main::id) || $main::opt_noharm) {
$id = $main::id;
} else {
@@ -120,14 +113,13 @@ sub im_unlink ($)
##
## Private.
##
-sub get_msg_info ($)
-{
- my ($p, $m) = expand_path_and_msg(shift);
- my ($id, $date, $hdr);
+sub get_msg_info($) {
+ my($p, $m) = expand_path_and_msg(shift);
+ my($id, $date, $hdr);
local $/ = '';
- if (im_open(\*MSG, "<$p")){
- $hdr = <MSG>; close(MSG);
+ if (im_open(\*MSG, "<$p")) {
+ $hdr = <MSG>; close(MSG);
} else {
im_warn("no message id in $m.\n");
return undef;
@@ -142,9 +134,9 @@ sub get_msg_info ($)
return ($id);
}
-sub unexpand_path ($) {
+sub unexpand_path($) {
my $path = shift;
- my ($mail_path, $news_path) = (mail_path(), news_path());
+ my($mail_path, $news_path) = (mail_path(), news_path());
$path =~ s!^$mail_path/*!\+!;
$path =~ s!^$news_path/*!\=!;
@@ -152,12 +144,12 @@ sub unexpand_path ($) {
return $path;
}
-sub expand_path_and_msg ($) {
+sub expand_path_and_msg($) {
my $path_or_msg = shift;
return (expand_path($path_or_msg), unexpand_path($path_or_msg));
}
-sub USE_DB () {
+sub USE_DB() {
if (!$CHECKED) {
$CHECKED = 1;
if ($USE_DB = msgdbfile()) {
@@ -172,6 +164,36 @@ sub USE_DB () {
1;
+__END__
+
+=head1 NAME
+
+IM::File - mail/news file handler
+
+=head1 SYNOPSIS
+
+ use IM::File;
+
+ im_rename(path1, path2);
+ im_link(path1, path2);
+ im_unlink(path1);
+
+Paths may be full-path or [+=]folder../../message.
+
+=head1 DESCRIPTION
+
+The I<IM::File> module handles mail/news message files.
+
+This modules is provided by IM (Internet Message).
+
+=head1 COPYRIGHT
+
+IM (Internet Message) is copyrighted by IM developing team.
+You can redistribute it and/or modify it under the modified BSD
+license. See the copyright file for more details.
+
+=cut
+
### Copyright (C) 1997, 1998, 1999 IM developing team
### All rights reserved.
###