changeset 745:9c1f28b26395

a uri can now write another uri which copies the content
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 13 Jul 2016 21:27:23 -0600
parents 4b8695f1cfc4
children 293c397e8dee
files core/src/luan/modules/IoLuan.java
diffstat 1 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
diff -r 4b8695f1cfc4 -r 9c1f28b26395 core/src/luan/modules/IoLuan.java
--- a/core/src/luan/modules/IoLuan.java	Wed Jul 13 20:39:08 2016 -0600
+++ b/core/src/luan/modules/IoLuan.java	Wed Jul 13 21:27:23 2016 -0600
@@ -288,7 +288,20 @@
 				out.close();
 				return;
 			}
-			throw new LuanException( "bad argument #1 to 'write' (string or binary expected)" );
+			if( obj instanceof LuanTable ) {
+				LuanTable t = (LuanTable)obj;
+				Object java = t.rawGet("java");
+				if( java instanceof LuanIn ) {
+					LuanIn luanIn = (LuanIn)java;
+					InputStream in = luanIn.inputStream();
+					OutputStream out = outputStream();
+					Utils.copyAll(in,out);
+					out.close();
+					in.close();
+					return;
+				}
+			}
+			throw new LuanException( "bad argument #1 to 'write' (string or binary or Io.uri expected)" );
 		}
 
 		public LuanTable text_writer() throws IOException {