Commit Diff
Diff:
4a735b997384098182ff11ac0c93cb0b0a794984
357efc9b89710a1ed6f4544aae54ff9761c57971
Commit:
357efc9b89710a1ed6f4544aae54ff9761c57971
Tree:
819a370766d7ac39d8b4b4f2089081bbbd79e333
Author:
jrmu <jrmu@ircnow.org>
Committer:
jrmu <jrmu@ircnow.org>
Date:
Tue Mar 7 15:15:00 2023 UTC
Message:
Safer writes
blob - 258bb9db5be5d0996d84148bf4f038769cea4a55
blob + af1bae59f74297fdd1b70187b06f561e5c000f61
--- botnow
+++ botnow
@@ -7,7 +7,15 @@ use IO::Socket;
use IO::Select;
use OpenBSD::Pledge;
use OpenBSD::Unveil;
+use File::Copy qw(copy);
+# Returns date in YYYYMMDD format
+sub date {
+ my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
+ my $localtime = sprintf("%04d%02d%02d", $year+1900, $mon+1, $mday);
+ return $localtime;
+}
+
# Read from filename and return array of lines without trailing newlines
sub readarray {
my ($filename) = @_;
@@ -29,6 +37,8 @@ sub readstr {
# Write str to filename
sub writefile {
my ($filename, $str) = @_;
+ my $date = date();
+ copy($filename, $filename.date()) or die "Could not make backup of $filename";
open(my $fh, '>', "$filename") or die "Could not write to $filename";
print $fh $str;
close $fh;
@@ -51,13 +61,6 @@ sub gettime {
return $localtime;
}
-# Returns date in YYYYMMDD format
-sub date {
- my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
- my $localtime = sprintf("%04d%02d%02d", $year+1900, $mon+1, $mday);
- return $localtime;
-}
-
sub mail {
my( $from, $to, $fromname, $subject, $body )=@_;
my $msg = <<"EOF";
IRCNow