@@ -147,36 +147,18 @@ impl DateTime {
147147 let tzinfo = ffi ! ( PyDateTime_DATE_GET_TZINFO ( self . ptr) ) ;
148148 if ffi ! ( PyObject_HasAttr ( tzinfo, CONVERT_METHOD_STR ) ) == 1 {
149149 // pendulum
150- let offset = ffi ! ( PyObject_CallMethodObjArgs (
151- self . ptr,
152- UTCOFFSET_METHOD_STR ,
153- std:: ptr:: null_mut( ) as * mut pyo3:: ffi:: PyObject
154- ) ) ;
150+ let offset = call_method ! ( self . ptr, UTCOFFSET_METHOD_STR ) ;
155151 offset_second = ffi ! ( PyDateTime_DELTA_GET_SECONDS ( offset) ) as i32 ;
156152 offset_day = ffi ! ( PyDateTime_DELTA_GET_DAYS ( offset) ) ;
157153 } else if ffi ! ( PyObject_HasAttr ( tzinfo, NORMALIZE_METHOD_STR ) ) == 1 {
158154 // pytz
159- let method_ptr = ffi ! ( PyObject_CallMethodObjArgs (
160- tzinfo,
161- NORMALIZE_METHOD_STR ,
162- self . ptr,
163- std:: ptr:: null_mut( ) as * mut pyo3:: ffi:: PyObject
164- ) ) ;
165- let offset = ffi ! ( PyObject_CallMethodObjArgs (
166- method_ptr,
167- UTCOFFSET_METHOD_STR ,
168- std:: ptr:: null_mut( ) as * mut pyo3:: ffi:: PyObject
169- ) ) ;
155+ let method_ptr = call_method ! ( tzinfo, NORMALIZE_METHOD_STR , self . ptr) ;
156+ let offset = call_method ! ( method_ptr, UTCOFFSET_METHOD_STR ) ;
170157 offset_second = ffi ! ( PyDateTime_DELTA_GET_SECONDS ( offset) ) as i32 ;
171158 offset_day = ffi ! ( PyDateTime_DELTA_GET_DAYS ( offset) ) ;
172159 } else if ffi ! ( PyObject_HasAttr ( tzinfo, DST_STR ) ) == 1 {
173160 // dateutil/arrow, datetime.timezone.utc
174- let offset = ffi ! ( PyObject_CallMethodObjArgs (
175- tzinfo,
176- UTCOFFSET_METHOD_STR ,
177- self . ptr,
178- std:: ptr:: null_mut( ) as * mut pyo3:: ffi:: PyObject
179- ) ) ;
161+ let offset = call_method ! ( tzinfo, UTCOFFSET_METHOD_STR , self . ptr) ;
180162 offset_second = ffi ! ( PyDateTime_DELTA_GET_SECONDS ( offset) ) as i32 ;
181163 offset_day = ffi ! ( PyDateTime_DELTA_GET_DAYS ( offset) ) ;
182164 } else {
0 commit comments