fix issue #6822: ftplib's storline method doesn't work with text files
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index b593fa1..ada7475 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -493,9 +493,15 @@
         while 1:
             buf = fp.readline()
             if not buf: break
-            if buf[-2:] != B_CRLF:
-                if buf[-1] in B_CRLF: buf = buf[:-1]
-                buf = buf + B_CRLF
+            if isinstance(buf, str):
+                if not buf.endswith(CRLF):
+                    if buf[-1] in CRLF: buf = buf[:-1]
+                    buf = buf + CRLF
+                buf = bytes(buf, self.encoding)
+            else:
+                if not buf.endswith(B_CRLF):
+                    if buf[-1:] in B_CRLF: buf = buf[:-1]
+                    buf = buf + B_CRLF
             conn.sendall(buf)
             if callback: callback(buf)
         conn.close()
@@ -771,9 +777,15 @@
                 while 1:
                     buf = fp.readline()
                     if not buf: break
-                    if buf[-2:] != B_CRLF:
-                        if buf[-1] in B_CRLF: buf = buf[:-1]
-                        buf = buf + B_CRLF
+                    if isinstance(buf, str):
+                        if not buf.endswith(CRLF):
+                            if buf[-1] in CRLF: buf = buf[:-1]
+                            buf = buf + CRLF
+                        buf = bytes(buf, self.encoding)
+                    else:
+                        if not buf.endswith(B_CRLF):
+                            if buf[-1:] in B_CRLF: buf = buf[:-1]
+                            buf = buf + B_CRLF
                     conn.sendall(buf)
                     if callback: callback(buf)
                 # shutdown ssl layer
@@ -783,6 +795,7 @@
                 conn.close()
             return self.voidresp()
 
+
     __all__.append('FTP_TLS')
     all_errors = (Error, IOError, EOFError, ssl.SSLError)