From 989aad5e517fa5c6e2799dd5d5b096139e404c0c Mon Sep 17 00:00:00 2001
From: ndparker <>
Date: Sun, 17 Jun 2001 00:58:48 +0000
Subject: [PATCH] added version checks, fixed some issues ;)
---
selfforum-cgi/shared/Encode/Plain.pm | 31 +++++++++++++-------------
selfforum-cgi/shared/Encode/Posting.pm | 20 ++++++++++++-----
2 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/selfforum-cgi/shared/Encode/Plain.pm b/selfforum-cgi/shared/Encode/Plain.pm
index 17c749c..3deb755 100644
--- a/selfforum-cgi/shared/Encode/Plain.pm
+++ b/selfforum-cgi/shared/Encode/Plain.pm
@@ -17,8 +17,15 @@ use vars qw(
%unimap
$utf8
$v56
+ $VERSION
);
+################################################################################
+#
+# Version check
+#
+$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+
$v56 = eval {local $SIG{__DIE__}; require 5.6.0;};
################################################################################
@@ -129,7 +136,6 @@ sub plain ($;$) {
if ($except) {
$new =~ s/($exreg)|/defined($1)?$1:'>'/eg;
- $new =~ s/($exreg)|\|/defined($1)?$1:'|'/eg;
$new =~ s/($exreg)|"/defined($1)?$1:'"'/eg;
# the big hash
@@ -164,7 +170,6 @@ sub plain ($;$) {
#
$new =~ s/</g;
$new =~ s/>/>/g;
- $new =~ s/\|/|/g;
$new =~ s/"/"/g;
# the big hash
@@ -225,7 +230,7 @@ sub multiline ($) {
# turn \n into
#
- $string=~s/\n/
/g;
+ $string=~s!\n!
!g;
# more than 1 space =>
#
@@ -234,7 +239,7 @@ sub multiline ($) {
# Single Spaces after
=>
# (save ascii arts ;)
#
- $string=~s/(?:^|(
))\s/($1?$1:'').' '/eg;
+ $string=~s!(?:^|(
))\s!($1?$1:'').' '!eg;
# return
#
@@ -255,17 +260,11 @@ sub toUTF8 ($) {
? $$ref
: $ref;
-# if ($v56) {
-# no warnings 'utf8';
-# $string =~ tr/\x80-\xff//CU;
-# }
-# else {
- $string =~ s
- {([\x80-\xff])}
- { chr((ord ($1) >> 6) | 192)
- .chr((ord ($1) & 191))
- }eg;
-# }
+ $string =~ s
+ {([\x80-\xff])}
+ { chr((ord ($1) >> 6) | 192)
+ .chr((ord ($1) & 191))
+ }eg;
ref($ref)
? \$string
@@ -531,4 +530,4 @@ BEGIN {
#
#
-### end of Encode::Plain #######################################################
+### end of Encode::Plain #######################################################
\ No newline at end of file
diff --git a/selfforum-cgi/shared/Encode/Posting.pm b/selfforum-cgi/shared/Encode/Posting.pm
index 395f71f..4ff9410 100644
--- a/selfforum-cgi/shared/Encode/Posting.pm
+++ b/selfforum-cgi/shared/Encode/Posting.pm
@@ -11,16 +11,26 @@ package Encode::Posting;
################################################################################
use strict;
+use vars qw(
+ @EXPORT
+ $VERSION
+);
use Encode::Plain; $Encode::Plain::utf8 = 1;
use CheckRFC;
+################################################################################
+#
+# Version check
+#
+$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+
################################################################################
#
# Export
#
use base qw(Exporter);
-@Encode::Posting::EXPORT = qw(
+@EXPORT = qw(
encoded_body
answer_field
message_field
@@ -71,7 +81,7 @@ sub encoded_body ($;$) {
my @rawlinks;
push @rawlinks => [$1 => $2] while ($posting =~ /\[([Ll][Ii][Nn][Kk]):\s*([^\]\s]+)\s*\]/g);
my @links = grep {
- is_URL ( $_ -> [1] => ':ALL')
+ is_URL ( $_ -> [1] => qw(http ftp news nntp telnet gopher mailto))
or is_URL (($_ -> [1] =~ /^[Vv][Ii][Ee][Ww]-[Ss][Oo][Uu][Rr][Cc][Ee]:(.+)/)[0] || '' => 'http')
or ( $_ -> [1] =~ m<^(?:\.?\.?/(?!/)|\?)>
and is_URL (rel_uri ($_ -> [1], $base) => 'http'))
@@ -158,7 +168,7 @@ sub answer_field ($$) {
my $area = $$posting;
my $qchar = $params -> {quoteChars};
- $area =~ s/
/\n/g; #
=> \n
+ $area =~ s/
/\n/g; #
=> \n
$area =~ s/&(?:#160|nbsp);/ /g; # nbsp => ' '
$area =~ s/^(.)/\177$1/gm if ($params -> {quoteArea}); # shift a quoting character
@@ -213,7 +223,7 @@ sub message_field ($$) {
if ($params -> {quoting}) { # quotes are displayed as special?
my @array = [0 => []];
- for (split /
/ => $posting) {
+ for (split /
/ => $posting) {
my $l = length ((/^(\177*)/)[0]);
if ($array[-1][0] == $l) {
push @{$array[-1][-1]} => $_;
@@ -248,4 +258,4 @@ sub message_field ($$) {
#
#
-### end of Encode::Posting #####################################################
+### end of Encode::Posting #####################################################
\ No newline at end of file
--
2.34.1