Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.3:Update
getdata
getdata-bigendian.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File getdata-bigendian.patch of Package getdata
Index: getdata-0.8.2/bindings/python/pyentry.c =================================================================== --- getdata-0.8.2.orig/bindings/python/pyentry.c +++ getdata-0.8.2/bindings/python/pyentry.c @@ -96,25 +96,51 @@ *scalar = gdpy_dup_pystring(pyobj); else { *scalar = NULL; - if (type == GD_INT64) - *(int64_t*)data = (int64_t)PyLong_AsLongLong(pyobj); - else if (type == GD_COMPLEX128) - *(double complex*)data = gdpy_as_complex(pyobj); - else if (type == GD_FLOAT64) - *(double*)data = PyFloat_AsDouble(pyobj); - else if (type == GD_INT16) - *(int16_t*)data = PyLong_AsLong(pyobj); - else if (type == GD_UINT16) - *(uint16_t*)data = PyLong_AsUnsignedLong(pyobj); - else if (type == GD_UINT64) { + switch (type) { + case GD_UINT8: + *(uint8_t*)data = (uint8_t)PyInt_AsUnsignedLongMask(pyobj); + break; + case GD_INT8: + *(int8_t*)data = (int8_t)PyInt_AsLong(pyobj); + break; + case GD_UINT16: + *(uint16_t*)data = (uint16_t)PyInt_AsUnsignedLongMask(pyobj); + break; + case GD_INT16: + *(int16_t*)data = (int16_t)PyInt_AsLong(pyobj); + break; + case GD_UINT32: + *(uint32_t*)data = (uint32_t)PyLong_AsUnsignedLong(pyobj); + break; + case GD_INT32: + *(int32_t*)data = (int32_t)PyLong_AsLong(pyobj); + break; + case GD_UINT64: if (PyLong_Check(pyobj)) *(uint64_t*)data = PyLong_AsUnsignedLongLong(pyobj); else *(uint64_t*)data = PyInt_AsUnsignedLongLongMask(pyobj); - } else + break; + case GD_INT64: + *(int64_t*)data = (int64_t)PyLong_AsLongLong(pyobj); + break; + case GD_FLOAT32: + *(float*)data = (float)PyFloat_AsDouble(pyobj); + break; + case GD_FLOAT64: + *(double*)data = PyFloat_AsDouble(pyobj); + break; + case GD_COMPLEX64: + *(float complex*)data = gdpy_as_complex(pyobj); + break; + case GD_COMPLEX128: + *(double complex*)data = gdpy_as_complex(pyobj); + break; + default: PyErr_Format(PyExc_RuntimeError, "unexpected field type (%x) inside %s", type, __func__); } + } dreturnvoid(); } @@ -187,7 +213,7 @@ PyErr_SetString(PyExc_ValueError, "'pygetdata.entry' invalid data type"); - gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 1), GD_UINT16, + gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 1), GD_UINT_TYPE, &E->scalar[0], &E->spf); break; case GD_LINCOM_ENTRY: @@ -283,10 +309,10 @@ return; } - gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 1), GD_INT16, + gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 1), GD_INT_TYPE, &E->scalar[0], &E->bitnum); if (size > 2) - gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 2), GD_INT16, + gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 2), GD_INT_TYPE, &E->scalar[1], &E->numbits); else { E->numbits = 1; @@ -445,10 +471,10 @@ return; } - gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 2), GD_UINT16, + gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 2), GD_INT_TYPE, &E->scalar[0], &E->count_val); - gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 3), GD_UINT16, + gdpy_set_scalar_from_pyobj(PyTuple_GetItem(tuple, 3), GD_INT_TYPE, &E->scalar[1], &E->count_max); break; case GD_CARRAY_ENTRY: @@ -1035,7 +1061,7 @@ return -1; } - gdpy_set_scalar_from_pyobj(value, GD_UINT16, &scalar, &spf); + gdpy_set_scalar_from_pyobj(value, GD_UINT_TYPE, &scalar, &spf); if (PyErr_Occurred()) { free(scalar); @@ -1421,7 +1447,7 @@ return -1; } - gdpy_set_scalar_from_pyobj(value, GD_INT16, &scalar, &bitnum); + gdpy_set_scalar_from_pyobj(value, GD_INT_TYPE, &scalar, &bitnum); if (PyErr_Occurred()) { free(scalar); dreturn("%i", -1); @@ -1476,7 +1502,7 @@ return -1; } - gdpy_set_scalar_from_pyobj(value, GD_INT16, &scalar, &numbits); + gdpy_set_scalar_from_pyobj(value, GD_INT_TYPE, &scalar, &numbits); if (PyErr_Occurred()) { dreturn("%i", -1); @@ -1646,7 +1672,7 @@ return -1; } - gdpy_set_scalar_from_pyobj(value, GD_UINT16, &scalar, &count_val); + gdpy_set_scalar_from_pyobj(value, GD_INT_TYPE, &scalar, &count_val); if (PyErr_Occurred()) { dreturn("%i", -1); @@ -1698,7 +1724,7 @@ return -1; } - gdpy_set_scalar_from_pyobj(value, GD_UINT16, &scalar, &count_max); + gdpy_set_scalar_from_pyobj(value, GD_INT_TYPE, &scalar, &count_max); if (PyErr_Occurred()) { dreturn("%i", -1); Index: getdata-0.8.2/src/del.c =================================================================== --- getdata-0.8.2.orig/src/del.c +++ getdata-0.8.2/src/del.c @@ -135,7 +135,7 @@ static void _GD_DeReference(DIRFILE *res switch(E->field_type) { case GD_RAW_ENTRY: - _GD_DeReferenceOne(D, E, C, check, 0, GD_UINT16, &E->EN(raw,spf)); + _GD_DeReferenceOne(D, E, C, check, 0, GD_UINT_TYPE, &E->EN(raw,spf)); break; case GD_POLYNOM_ENTRY: for (i = 0; i <= E->EN(polynom,poly_ord); ++i) { Index: getdata-0.8.2/src/entry.c =================================================================== --- getdata-0.8.2.orig/src/entry.c +++ getdata-0.8.2/src/entry.c @@ -206,7 +206,7 @@ int _GD_CalculateEntry(DIRFILE *restrict switch(E->field_type) { case GD_RAW_ENTRY: - _GD_GetScalar(D, E, 0, GD_UINT16, &E->EN(raw,spf), err); + _GD_GetScalar(D, E, 0, GD_UINT_TYPE, &E->EN(raw,spf), err); break; case GD_POLYNOM_ENTRY: E->comp_scal = 0; Index: getdata-0.8.2/src/flush.c =================================================================== --- getdata-0.8.2.orig/src/flush.c +++ getdata-0.8.2/src/flush.c @@ -391,7 +391,7 @@ static void _GD_FieldSpec(DIRFILE* D, FI fprintf(stream, " RAW%s %s ", pretty ? " " : "", (permissive || D->standards >= 5) ? _GD_TypeName(D, E->EN(raw,data_type)) : _GD_OldTypeName(D, E->EN(raw,data_type))); - _GD_WriteConst(D, stream, me, permissive, GD_UINT16, &E->EN(raw,spf), + _GD_WriteConst(D, stream, me, permissive, GD_UINT_TYPE, &E->EN(raw,spf), E->scalar[0], E->scalar_ind[0], "\n"); break; case GD_LINCOM_ENTRY: Index: getdata-0.8.2/src/mod.c =================================================================== --- getdata-0.8.2.orig/src/mod.c +++ getdata-0.8.2/src/mod.c @@ -257,7 +257,7 @@ static int _GD_Change(DIRFILE *D, const switch(E->field_type) { case GD_RAW_ENTRY: j = _GD_AlterScalar(D, N->EN(raw,spf) && N->EN(raw,spf) != E->EN(raw,spf), - GD_UINT16, &Q.EN(raw,spf), &N->EN(raw,spf), Q.scalar, Q.scalar_ind, + GD_UINT_TYPE, &Q.EN(raw,spf), &N->EN(raw,spf), Q.scalar, Q.scalar_ind, N->scalar[0], N->scalar_ind[0], E->e->calculated, E->fragment_index); if (j & GD_AS_ERROR) @@ -293,7 +293,7 @@ static int _GD_Change(DIRFILE *D, const struct encoding_t *enc; if (j & GD_AS_NEED_RECALC) - if (gd_get_constant(D, Q.scalar[0], GD_UINT16, &Q.EN(raw,spf))) + if (gd_get_constant(D, Q.scalar[0], GD_UINT_TYPE, &Q.EN(raw,spf))) break; nf = BUFFER_SIZE / _gd_max(E->e->u.raw.size, Index: getdata-0.8.2/src/parse.c =================================================================== --- getdata-0.8.2.orig/src/parse.c +++ getdata-0.8.2/src/parse.c @@ -316,7 +316,7 @@ static gd_entry_t *_GD_ParseRaw(DIRFILE _GD_SetError(D, GD_E_FORMAT, GD_E_FORMAT_BAD_TYPE, format_file, line, in_cols[2]); else if ((E->scalar[0] = _GD_SetScalar(D, in_cols[3], &E->EN(raw,spf), - GD_UINT16, me, format_file, line, E->scalar_ind, NULL, standards, + GD_UINT_TYPE, me, format_file, line, E->scalar_ind, NULL, standards, pedantic)) == NULL) { E->e->calculated = 1; @@ -772,13 +772,13 @@ static gd_entry_t *_GD_ParseMplex(DIRFIL E->in_fields[1] = _GD_MungeFromFrag(D, NULL, me, in_cols[3], &offset); E->scalar[0] = _GD_SetScalar(D, in_cols[4], &E->EN(mplex,count_val), - GD_UINT16, me, format_file, line, E->scalar_ind, NULL, standards, + GD_INT_TYPE, me, format_file, line, E->scalar_ind, NULL, standards, pedantic); /* the count max, if present */ if (n_cols > 5) { E->scalar[1] = _GD_SetScalar(D, in_cols[5], &E->EN(mplex,count_max), - GD_UINT16, me, format_file, line, E->scalar_ind + 1, NULL, standards, + GD_INT_TYPE, me, format_file, line, E->scalar_ind + 1, NULL, standards, pedantic); if (E->EN(mplex,count_max) < 0) _GD_SetError(D, GD_E_FORMAT, GD_E_FORMAT_MPLEXVAL, format_file, line,
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor