… | |
… | |
212 | } else { |
212 | } else { |
213 | $who->message ("Intruder Alert!"); |
213 | $who->message ("Intruder Alert!"); |
214 | } |
214 | } |
215 | }; |
215 | }; |
216 | |
216 | |
|
|
217 | *on_mapclean = sub { |
|
|
218 | my $map = shift->{map}; |
|
|
219 | |
|
|
220 | my $path = $map->tmpname; |
|
|
221 | defined $path or return; |
|
|
222 | |
|
|
223 | unlink "$path.cfperl"; |
|
|
224 | }; |
|
|
225 | |
217 | *on_mapin = |
226 | *on_mapin = |
218 | *on_mapload = sub { |
227 | *on_mapload = sub { |
219 | my $map = shift->{map}; |
228 | my $map = shift->{map}; |
220 | |
229 | |
221 | my $path = $map->tmpname; |
230 | my $path = $map->tmpname; |
… | |
… | |
246 | |
255 | |
247 | print $fh Storable::nfreeze { |
256 | print $fh Storable::nfreeze { |
248 | version => 1, |
257 | version => 1, |
249 | obs => $obs, |
258 | obs => $obs, |
250 | }; |
259 | }; |
|
|
260 | |
|
|
261 | chmod SAVE_MODE, "$path.cfperl"; # very racy, but cf-compatible *g* |
251 | } else { |
262 | } else { |
252 | unlink "$path.cfperl"; |
263 | unlink "$path.cfperl"; |
253 | } |
264 | } |
254 | }; |
265 | }; |
255 | |
266 | |