@@ -1579,16 +1579,15 @@ _array_fromobject_generic(
15791579 if (PyArray_CheckExact (op ) || (subok && PyArray_Check (op ))) {
15801580 oparr = (PyArrayObject * )op ;
15811581 if (type == NULL ) {
1582- if ((copy == NPY_COPY_IF_NEEDED || copy == NPY_COPY_NEVER ) &&
1583- STRIDING_OK (oparr , order )) {
1582+ if (copy != NPY_COPY_ALWAYS && STRIDING_OK (oparr , order )) {
15841583 ret = oparr ;
15851584 Py_INCREF (ret );
15861585 goto finish ;
15871586 }
15881587 else {
1589- if ( copy == NPY_COPY_NEVER ) {
1588+ if ( copy == NPY_COPY_NEVER ) {
15901589 PyErr_SetString (PyExc_ValueError ,
1591- "Unable to avoid copy while creating a new array." );
1590+ "Unable to avoid copy while creating a new array." );
15921591 return NULL ;
15931592 }
15941593 ret = (PyArrayObject * )PyArray_NewCopy (oparr , order );
@@ -1598,16 +1597,15 @@ _array_fromobject_generic(
15981597 /* One more chance */
15991598 oldtype = PyArray_DESCR (oparr );
16001599 if (PyArray_EquivTypes (oldtype , type )) {
1601- if ((copy == NPY_COPY_IF_NEEDED || copy == NPY_COPY_NEVER ) &&
1602- STRIDING_OK (oparr , order )) {
1600+ if (copy != NPY_COPY_ALWAYS && STRIDING_OK (oparr , order )) {
16031601 Py_INCREF (op );
16041602 ret = oparr ;
16051603 goto finish ;
16061604 }
16071605 else {
1608- if ( copy == NPY_COPY_NEVER ) {
1606+ if ( copy == NPY_COPY_NEVER ) {
16091607 PyErr_SetString (PyExc_ValueError ,
1610- "Unable to avoid copy while creating a new array." );
1608+ "Unable to avoid copy while creating a new array." );
16111609 return NULL ;
16121610 }
16131611 ret = (PyArrayObject * )PyArray_NewCopy (oparr , order );
0 commit comments