rev 630 - in trunk: . src

SVN User <[email protected]> Wed, 16 Jun 2004 17:04:40 -0400
Newsgroups gmane.comp.lang.prothon.cvs
Message-ID <[email protected]>
Author: mark
Date: 2004-06-16 17:04:37 -0400 (Wed, 16 Jun 2004)
New Revision: 630

Modified:
   trunk/STATUS.txt
   trunk/src/builtins-file.c
Log:
added binary flag to all files

Modified: trunk/STATUS.txt
===================================================================
--- trunk/STATUS.txt	2004-06-16 07:28:44 UTC (rev 629)
+++ trunk/STATUS.txt	2004-06-16 21:04:37 UTC (rev 630)
@@ -2,7 +2,6 @@
 ----------------------- TO-DO (highest priority first) ------------------------
 
 --- Complete File/Dir objects
-		use 'b' in all files
 		http://www.prothon.org/pipermail/prothon-user/2004-April/000955.html
 --- TempDir() should create new dir.  del_ should delete it.
 --- TextFile, TempFile, and TempTextFile objects

Modified: trunk/src/builtins-file.c
===================================================================
--- trunk/src/builtins-file.c	2004-06-16 07:28:44 UTC (rev 629)
+++ trunk/src/builtins-file.c	2004-06-16 21:04:37 UTC (rev 630)
@@ -564,15 +564,15 @@
 	}
 
 	if (mode[0] == 'r') {
-		flags = APR_READ;
+		flags = APR_READ | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_WRITE;
 	} else if (mode[0] == 'w') {
-		flags = APR_WRITE | APR_CREATE | APR_TRUNCATE;
+		flags = APR_WRITE | APR_CREATE | APR_TRUNCATE | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_READ;
 	} else if (mode[0] == 'a') {
-		flags = APR_WRITE | APR_CREATE | APR_APPEND;
+		flags = APR_WRITE | APR_CREATE | APR_APPEND | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_READ;
 	}
@@ -824,15 +824,15 @@
 	}
 
 	if (mode[0] == 'r') {
-		flags = APR_READ;
+		flags = APR_READ | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_WRITE;
 	} else if (mode[0] == 'w') {
-		flags = APR_WRITE | APR_CREATE | APR_TRUNCATE;
+		flags = APR_WRITE | APR_CREATE | APR_TRUNCATE | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_READ;
 	} else if (mode[0] == 'a') {
-		flags = APR_WRITE | APR_CREATE | APR_APPEND;
+		flags = APR_WRITE | APR_CREATE | APR_APPEND | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_READ;
 	}
@@ -1175,7 +1175,8 @@
 		                         APR_FILEPATH_TRUENAME, subpool );
 	IF_APR_ERR("merging filepath") return NULL;
 
-	if (!delOnClose) flags = (APR_CREATE | APR_READ | APR_WRITE | APR_EXCL);
+	if (delOnClose) flags = (APR_CREATE | APR_READ | APR_WRITE | APR_EXCL | APR_BINARY | APR_DELONCLOSE);
+	else            flags = (APR_CREATE | APR_READ | APR_WRITE | APR_EXCL | APR_BINARY);
 	aprerr = apr_file_mktemp(&fp, fullpath, flags, subpool);
 	IF_APR_ERR("opening temporary file") return NULL;
 
@@ -1230,6 +1231,7 @@
 	read_unlock(ist, self);
 
 	set_attr(ist, self, sym(ist, "encoding"), NEW_STRING(encoding));
+	if (magic) set_attr(ist, self, sym(ist, "magic"), OBJ(PR_TRUE));
 
 	if (strlen(mode) == 0) {
 		read_unlock(ist, self);
@@ -1247,15 +1249,15 @@
 	}
 
 	if (mode[0] == 'r') {
-		flags = APR_READ;
+		flags = APR_READ | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_WRITE;
 	} else if (mode[0] == 'w') {
-		flags = APR_WRITE | APR_CREATE | APR_TRUNCATE;
+		flags = APR_WRITE | APR_CREATE | APR_TRUNCATE | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_READ;
 	} else if (mode[0] == 'a') {
-		flags = APR_WRITE | APR_CREATE | APR_APPEND;
+		flags = APR_WRITE | APR_CREATE | APR_APPEND | APR_BINARY;
 		if (mode[1] == '+')
 			flags |= APR_READ;
 	}