Skip to content

Commit 946633e

Browse files
committed
clang format
1 parent a5201f9 commit 946633e

File tree

1 file changed

+117
-113
lines changed

1 file changed

+117
-113
lines changed

pandas/_libs/src/ujson/python/objToJSON.c

Lines changed: 117 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -405,108 +405,107 @@ static void *PyBytesToUTF8(JSOBJ _obj, JSONTypeContext *tc, void *outValue,
405405

406406
static void *PyUnicodeToUTF8(JSOBJ _obj, JSONTypeContext *tc, void *outValue,
407407
size_t *_outLen) {
408-
return PyUnicode_AsUTF8AndSize(_obj, _outLen);
408+
return PyUnicode_AsUTF8AndSize(_obj, _outLen);
409409
}
410410

411-
412411
/* returns a char* and mutates the pointer to *len */
413412
static char *NpyDateTimeToIso(JSOBJ unused, JSONTypeContext *tc, void *_unused,
414-
size_t *len) {
415-
npy_datetimestruct dts;
416-
int ret_code;
417-
int64_t longVal = GET_TC(tc)->longValue;
418-
419-
pandas_datetime_to_datetimestruct(longVal, NPY_FR_ns, &dts);
420-
421-
NPY_DATETIMEUNIT base = ((PyObjectEncoder *)tc->encoder)->datetimeUnit;
422-
*len = (size_t)get_datetime_iso_8601_strlen(0, base);
423-
char *result = PyObject_Malloc(*len);
424-
425-
if (result == NULL) {
426-
PyErr_NoMemory();
427-
((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
428-
return NULL;
429-
}
413+
size_t *len) {
414+
npy_datetimestruct dts;
415+
int ret_code;
416+
int64_t longVal = GET_TC(tc)->longValue;
417+
418+
pandas_datetime_to_datetimestruct(longVal, NPY_FR_ns, &dts);
419+
420+
NPY_DATETIMEUNIT base = ((PyObjectEncoder *)tc->encoder)->datetimeUnit;
421+
*len = (size_t)get_datetime_iso_8601_strlen(0, base);
422+
char *result = PyObject_Malloc(*len);
423+
424+
if (result == NULL) {
425+
PyErr_NoMemory();
426+
((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
427+
return NULL;
428+
}
430429

431-
ret_code = make_iso_8601_datetime(&dts, result, *len, base);
432-
if (ret_code != 0) {
433-
PyErr_SetString(PyExc_ValueError,
434-
"Could not convert datetime value to string");
435-
((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
436-
PyObject_Free(result);
437-
}
430+
ret_code = make_iso_8601_datetime(&dts, result, *len, base);
431+
if (ret_code != 0) {
432+
PyErr_SetString(PyExc_ValueError,
433+
"Could not convert datetime value to string");
434+
((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
435+
PyObject_Free(result);
436+
}
438437

439-
// Note that get_datetime_iso_8601_strlen just gives a generic size
440-
// for ISO string conversion, not the actual size used
441-
*len = strlen(result);
442-
return result;
438+
// Note that get_datetime_iso_8601_strlen just gives a generic size
439+
// for ISO string conversion, not the actual size used
440+
*len = strlen(result);
441+
return result;
443442
}
444443

445444
static npy_datetime NpyDateTimeToEpoch(npy_datetime dt, NPY_DATETIMEUNIT base) {
446445
scaleNanosecToUnit(&dt, base);
447446
return dt;
448-
}
447+
}
449448

450449
static char *PyDateTimeToIso(PyObject *obj, JSONTypeContext *tc, void *unused,
451-
size_t *len) {
452-
npy_datetimestruct dts;
453-
int ret;
454-
455-
if (!PyDateTime_Check(obj)) {
456-
// TODO: raise TypeError
457-
}
458-
459-
ret = convert_pydatetime_to_datetimestruct(obj, &dts);
460-
if (ret != 0) {
461-
if (!PyErr_Occurred()) {
462-
PyErr_SetString(PyExc_ValueError,
463-
"Could not convert PyDateTime to numpy datetime");
450+
size_t *len) {
451+
npy_datetimestruct dts;
452+
int ret;
453+
454+
if (!PyDateTime_Check(obj)) {
455+
// TODO: raise TypeError
464456
}
465-
((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
466-
return NULL;
467-
}
468457

469-
NPY_DATETIMEUNIT base = ((PyObjectEncoder *)tc->encoder)->datetimeUnit;
470-
*len = (size_t)get_datetime_iso_8601_strlen(0, base);
471-
char *result = PyObject_Malloc(*len);
472-
ret = make_iso_8601_datetime(&dts, result, *len, base);
458+
ret = convert_pydatetime_to_datetimestruct(obj, &dts);
459+
if (ret != 0) {
460+
if (!PyErr_Occurred()) {
461+
PyErr_SetString(PyExc_ValueError,
462+
"Could not convert PyDateTime to numpy datetime");
463+
}
464+
((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
465+
return NULL;
466+
}
473467

474-
if (ret != 0) {
475-
PRINTMARK();
476-
PyErr_SetString(PyExc_ValueError,
477-
"Could not convert datetime value to string");
478-
((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
479-
PyObject_Free(result);
480-
return NULL;
481-
}
468+
NPY_DATETIMEUNIT base = ((PyObjectEncoder *)tc->encoder)->datetimeUnit;
469+
*len = (size_t)get_datetime_iso_8601_strlen(0, base);
470+
char *result = PyObject_Malloc(*len);
471+
ret = make_iso_8601_datetime(&dts, result, *len, base);
482472

483-
// Note that get_datetime_iso_8601_strlen just gives a generic size
484-
// for ISO string conversion, not the actual size used
485-
*len = strlen(result);
486-
return result;
473+
if (ret != 0) {
474+
PRINTMARK();
475+
PyErr_SetString(PyExc_ValueError,
476+
"Could not convert datetime value to string");
477+
((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
478+
PyObject_Free(result);
479+
return NULL;
480+
}
481+
482+
// Note that get_datetime_iso_8601_strlen just gives a generic size
483+
// for ISO string conversion, not the actual size used
484+
*len = strlen(result);
485+
return result;
487486
}
488487

489488
static npy_datetime PyDateTimeToEpoch(PyObject *obj, NPY_DATETIMEUNIT base) {
490-
npy_datetimestruct dts;
491-
int ret;
492-
493-
if (!PyDateTime_Check(obj)) {
494-
// TODO: raise TypeError
495-
}
496-
497-
ret = convert_pydatetime_to_datetimestruct(obj, &dts);
498-
if (ret != 0) {
499-
if (!PyErr_Occurred()) {
500-
PyErr_SetString(PyExc_ValueError,
501-
"Could not convert PyDateTime to numpy datetime");
489+
npy_datetimestruct dts;
490+
int ret;
491+
492+
if (!PyDateTime_Check(obj)) {
493+
// TODO: raise TypeError
502494
}
503-
// TODO: is setting errMsg required?
504-
//((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
505-
// return NULL;
506-
}
507495

508-
npy_datetime npy_dt = npy_datetimestruct_to_datetime(NPY_FR_ns, &dts);
509-
return NpyDateTimeToEpoch(npy_dt, base);
496+
ret = convert_pydatetime_to_datetimestruct(obj, &dts);
497+
if (ret != 0) {
498+
if (!PyErr_Occurred()) {
499+
PyErr_SetString(PyExc_ValueError,
500+
"Could not convert PyDateTime to numpy datetime");
501+
}
502+
// TODO: is setting errMsg required?
503+
//((JSONObjectEncoder *)tc->encoder)->errorMsg = "";
504+
// return NULL;
505+
}
506+
507+
npy_datetime npy_dt = npy_datetimestruct_to_datetime(NPY_FR_ns, &dts);
508+
return NpyDateTimeToEpoch(npy_dt, base);
510509
}
511510

512511
static void *PyTimeToJSON(JSOBJ _obj, JSONTypeContext *tc, void *outValue,
@@ -1710,38 +1709,41 @@ void Object_beginTypeContext(JSOBJ _obj, JSONTypeContext *tc) {
17101709

17111710
if (PyTypeNum_ISDATETIME(enc->npyType)) {
17121711
PRINTMARK();
1713-
int64_t longVal;
1714-
PyArray_VectorUnaryFunc *castfunc =
1715-
PyArray_GetCastFunc(PyArray_DescrFromType(enc->npyType), NPY_INT64);
1716-
if (!castfunc) {
1717-
PyErr_Format(PyExc_ValueError, "Cannot cast numpy dtype %d to long",
1718-
enc->npyType);
1719-
}
1720-
castfunc(enc->npyValue, &longVal, 1, NULL, NULL);
1721-
if (longVal == get_nat()) {
1722-
PRINTMARK();
1723-
tc->type = JT_NULL;
1724-
} else {
1725-
1726-
if (enc->datetimeIso) {
1727-
PRINTMARK();
1728-
pc->PyTypeToJSON = NpyDateTimeToIso;
1729-
// Currently no way to pass longVal to iso function, so use state management
1730-
GET_TC(tc)->longValue = longVal;
1731-
tc->type = JT_UTF8;
1732-
} else {
1712+
int64_t longVal;
1713+
PyArray_VectorUnaryFunc *castfunc =
1714+
PyArray_GetCastFunc(PyArray_DescrFromType(enc->npyType), NPY_INT64);
1715+
if (!castfunc) {
1716+
PyErr_Format(PyExc_ValueError, "Cannot cast numpy dtype %d to long",
1717+
enc->npyType);
1718+
}
1719+
castfunc(enc->npyValue, &longVal, 1, NULL, NULL);
1720+
if (longVal == get_nat()) {
17331721
PRINTMARK();
1734-
NPY_DATETIMEUNIT base = ((PyObjectEncoder *)tc->encoder)->datetimeUnit;
1735-
GET_TC(tc)->longValue = NpyDateTimeToEpoch(longVal, base);
1736-
tc->type = JT_LONG;
1737-
}
1722+
tc->type = JT_NULL;
1723+
} else {
1724+
1725+
if (enc->datetimeIso) {
1726+
PRINTMARK();
1727+
pc->PyTypeToJSON = NpyDateTimeToIso;
1728+
// Currently no way to pass longVal to iso function, so use
1729+
// state management
1730+
GET_TC(tc)->longValue = longVal;
1731+
tc->type = JT_UTF8;
1732+
} else {
1733+
PRINTMARK();
1734+
NPY_DATETIMEUNIT base =
1735+
((PyObjectEncoder *)tc->encoder)->datetimeUnit;
1736+
GET_TC(tc)->longValue = NpyDateTimeToEpoch(longVal, base);
1737+
tc->type = JT_LONG;
1738+
}
17381739
}
17391740

1740-
// TODO: this prevents infinite loop with mixed-type DataFrames; refactor
1741-
enc->npyCtxtPassthru = NULL;
1742-
enc->npyType = -1;
1741+
// TODO: this prevents infinite loop with mixed-type DataFrames;
1742+
// refactor
1743+
enc->npyCtxtPassthru = NULL;
1744+
enc->npyType = -1;
17431745
return;
1744-
}
1746+
}
17451747

17461748
if (PyIter_Check(obj) ||
17471749
(PyArray_Check(obj) && !PyArray_CheckScalar(obj))) {
@@ -1801,8 +1803,9 @@ void Object_beginTypeContext(JSOBJ _obj, JSONTypeContext *tc) {
18011803
tc->type = JT_UTF8;
18021804
} else {
18031805
PRINTMARK();
1804-
NPY_DATETIMEUNIT base = ((PyObjectEncoder *)tc->encoder)->datetimeUnit;
1805-
GET_TC(tc)->longValue = PyDateTimeToEpoch(obj, base);
1806+
NPY_DATETIMEUNIT base =
1807+
((PyObjectEncoder *)tc->encoder)->datetimeUnit;
1808+
GET_TC(tc)->longValue = PyDateTimeToEpoch(obj, base);
18061809
tc->type = JT_LONG;
18071810
}
18081811
return;
@@ -1826,12 +1829,13 @@ void Object_beginTypeContext(JSOBJ _obj, JSONTypeContext *tc) {
18261829
tc->type = JT_UTF8;
18271830
} else {
18281831
PRINTMARK();
1829-
NPY_DATETIMEUNIT base = ((PyObjectEncoder *)tc->encoder)->datetimeUnit;
1830-
GET_TC(tc)->longValue = PyDateTimeToEpoch(obj, base);
1832+
NPY_DATETIMEUNIT base =
1833+
((PyObjectEncoder *)tc->encoder)->datetimeUnit;
1834+
GET_TC(tc)->longValue = PyDateTimeToEpoch(obj, base);
18311835
tc->type = JT_LONG;
18321836
}
18331837
return;
1834-
} else if (PyDelta_Check(obj)) {
1838+
} else if (PyDelta_Check(obj)) {
18351839
if (PyObject_HasAttrString(obj, "value")) {
18361840
PRINTMARK();
18371841
value = get_long_attr(obj, "value");

0 commit comments

Comments
 (0)