[Numpy-svn] r2855 - trunk/numpy/core/src

numpy-svn at scipy.org numpy-svn at scipy.org
Thu Jul 20 17:20:46 EDT 2006


Author: oliphant
Date: 2006-07-20 16:20:43 -0500 (Thu, 20 Jul 2006)
New Revision: 2855

Modified:
   trunk/numpy/core/src/arraymethods.c
   trunk/numpy/core/src/multiarraymodule.c
Log:
Change file reading and writing to call file object instead of using PyFile_FromString

Modified: trunk/numpy/core/src/arraymethods.c
===================================================================
--- trunk/numpy/core/src/arraymethods.c	2006-07-20 20:57:30 UTC (rev 2854)
+++ trunk/numpy/core/src/arraymethods.c	2006-07-20 21:20:43 UTC (rev 2855)
@@ -440,16 +440,14 @@
 	FILE *fd;
         char *sep="";
 	char *format="";
-	char *mode="";
 	static char *kwlist[] = {"file", "sep", "format", NULL};
         
 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|ss", kwlist, 
                                          &file, &sep, &format)) return NULL;
 
 	if (PyString_Check(file)) {
-		if (sep == "") mode="wb";
-		else mode="w";
-		file = PyFile_FromString(PyString_AS_STRING(file), mode);
+		file = PyObject_CallFunction((PyObject *)&PyFile_Type,
+					     "Os", file, "wb");
 		if (file==NULL) return NULL;
 	}
 	else {

Modified: trunk/numpy/core/src/multiarraymodule.c
===================================================================
--- trunk/numpy/core/src/multiarraymodule.c	2006-07-20 20:57:30 UTC (rev 2854)
+++ trunk/numpy/core/src/multiarraymodule.c	2006-07-20 21:20:43 UTC (rev 2855)
@@ -5351,7 +5351,6 @@
 	PyObject *file=NULL, *ret;
 	FILE *fp;
 	char *sep="";
-	char *mode=NULL;
 	longlong nin=-1;
 	static char *kwlist[] = {"file", "dtype", "count", "sep", NULL};
 	PyArray_Descr *type=NULL;
@@ -5366,9 +5365,8 @@
 	if (type == NULL) type = PyArray_DescrFromType(PyArray_DEFAULT);
 
 	if (PyString_Check(file)) {
-		if (sep == "") mode="rb";
-		else mode="r";
-		file = PyFile_FromString(PyString_AS_STRING(file), mode);
+		file = PyObject_CallFunction((PyObject *)&PyFile_Type,
+					     "Os", file, "rb");
 		if (file==NULL) return NULL;
 	}
 	else {




More information about the Numpy-svn mailing list