aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/vendor/tmail/base64.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionmailer/lib/action_mailer/vendor/tmail/base64.rb')
-rwxr-xr-xactionmailer/lib/action_mailer/vendor/tmail/base64.rb52
1 files changed, 52 insertions, 0 deletions
diff --git a/actionmailer/lib/action_mailer/vendor/tmail/base64.rb b/actionmailer/lib/action_mailer/vendor/tmail/base64.rb
new file mode 100755
index 0000000000..d08a4fca7e
--- /dev/null
+++ b/actionmailer/lib/action_mailer/vendor/tmail/base64.rb
@@ -0,0 +1,52 @@
+#
+# base64.rb
+#
+# Copyright (c) 1998-2003 Minero Aoki <aamine@loveruby.net>
+#
+# This program is free software.
+# You can distribute/modify this program under the terms of
+# the GNU Lesser General Public License version 2 or later.
+#
+
+module TMail
+
+ module Base64
+
+ module_function
+
+ def rb_folding_encode( str, eol = "\n", limit = 60 )
+ [str].pack('m')
+ end
+
+ def rb_encode( str )
+ [str].pack('m').tr( "\r\n", '' )
+ end
+
+ def rb_decode( str, strict = false )
+ str.unpack('m')
+ end
+
+ begin
+ require 'tmail/base64.so'
+ alias folding_encode c_folding_encode
+ alias encode c_encode
+ alias decode c_decode
+ class << self
+ alias folding_encode c_folding_encode
+ alias encode c_encode
+ alias decode c_decode
+ end
+ rescue LoadError
+ alias folding_encode rb_folding_encode
+ alias encode rb_encode
+ alias decode rb_decode
+ class << self
+ alias folding_encode rb_folding_encode
+ alias encode rb_encode
+ alias decode rb_decode
+ end
+ end
+
+ end
+
+end