Commit b1ad30f5 authored by Bryan Forbes's avatar Bryan Forbes Committed by Nikias Bassen

More qualifiers.

parent bf1dcaec
...@@ -24,15 +24,15 @@ cdef class Real(Node): ...@@ -24,15 +24,15 @@ cdef class Real(Node):
cpdef float get_value(self) cpdef float get_value(self)
cdef class String(Node): cdef class String(Node):
cpdef set_value(self, unicode value) cpdef set_value(self, object value)
cpdef unicode get_value(self) cpdef unicode get_value(self)
cdef class Date(Node): cdef class Date(Node):
cpdef set_value(self, value) cpdef set_value(self, object value)
cpdef object get_value(self) cpdef object get_value(self)
cdef class Data(Node): cdef class Data(Node):
cpdef set_value(self, bytes value) cpdef set_value(self, object value)
cpdef bytes get_value(self) cpdef bytes get_value(self)
cdef class Dict(Node): cdef class Dict(Node):
...@@ -54,7 +54,7 @@ cdef class Array(Node): ...@@ -54,7 +54,7 @@ cdef class Array(Node):
cdef void _init(self) cdef void _init(self)
cpdef set_value(self, value) cpdef set_value(self, value)
cpdef list get_value(self) cpdef list get_value(self)
cpdef append(self, item) cpdef append(self, object item)
cpdef object from_xml(xml) cpdef object from_xml(xml)
cpdef object from_bin(bytes bin) cpdef object from_bin(bytes bin)
......
...@@ -107,7 +107,8 @@ cdef class Node: ...@@ -107,7 +107,8 @@ cdef class Node:
try: try:
return python_unicode.PyUnicode_DecodeUTF8(out, length, 'strict') return python_unicode.PyUnicode_DecodeUTF8(out, length, 'strict')
finally: finally:
stdlib.free(out) if out != NULL:
stdlib.free(out)
cpdef bytes to_bin(self): cpdef bytes to_bin(self):
cdef: cdef:
...@@ -118,7 +119,8 @@ cdef class Node: ...@@ -118,7 +119,8 @@ cdef class Node:
try: try:
return python_string.PyString_FromStringAndSize(out, length) return python_string.PyString_FromStringAndSize(out, length)
finally: finally:
stdlib.free(out) if out != NULL:
stdlib.free(out)
property parent: property parent:
def __get__(self): def __get__(self):
...@@ -135,7 +137,7 @@ cdef class Node: ...@@ -135,7 +137,7 @@ cdef class Node:
return str(self.get_value()) return str(self.get_value())
cdef class Bool(Node): cdef class Bool(Node):
def __cinit__(self, value=None, *args, **kwargs): def __cinit__(self, object value=None, *args, **kwargs):
if value is None: if value is None:
self._c_node = plist_new_bool(0) self._c_node = plist_new_bool(0)
else: else:
...@@ -178,7 +180,7 @@ cdef Bool Bool_factory(plist_t c_node, bint managed=True): ...@@ -178,7 +180,7 @@ cdef Bool Bool_factory(plist_t c_node, bint managed=True):
return instance return instance
cdef class Integer(Node): cdef class Integer(Node):
def __cinit__(self, value=None, *args, **kwargs): def __cinit__(self, object value=None, *args, **kwargs):
if value is None: if value is None:
self._c_node = plist_new_uint(0) self._c_node = plist_new_uint(0)
else: else:
...@@ -224,7 +226,7 @@ cdef Integer Integer_factory(plist_t c_node, bint managed=True): ...@@ -224,7 +226,7 @@ cdef Integer Integer_factory(plist_t c_node, bint managed=True):
return instance return instance
cdef class Real(Node): cdef class Real(Node):
def __cinit__(self, value=None, *args, **kwargs): def __cinit__(self, object value=None, *args, **kwargs):
if value is None: if value is None:
self._c_node = plist_new_real(0.0) self._c_node = plist_new_real(0.0)
else: else:
...@@ -272,7 +274,7 @@ cdef Real Real_factory(plist_t c_node, bint managed=True): ...@@ -272,7 +274,7 @@ cdef Real Real_factory(plist_t c_node, bint managed=True):
from python_version cimport PY_MAJOR_VERSION from python_version cimport PY_MAJOR_VERSION
cdef class String(Node): cdef class String(Node):
def __cinit__(self, value=None, *args, **kwargs): def __cinit__(self, object value=None, *args, **kwargs):
cdef: cdef:
char* c_utf8_data = NULL char* c_utf8_data = NULL
bytes utf8_data bytes utf8_data
...@@ -308,7 +310,7 @@ cdef class String(Node): ...@@ -308,7 +310,7 @@ cdef class String(Node):
if op == 5: if op == 5:
return s >= other return s >= other
cpdef set_value(self, unicode value): cpdef set_value(self, object value):
cdef: cdef:
char* c_utf8_data = NULL char* c_utf8_data = NULL
bytes utf8_data bytes utf8_data
...@@ -357,7 +359,7 @@ cdef plist_t create_date_plist(value=None): ...@@ -357,7 +359,7 @@ cdef plist_t create_date_plist(value=None):
return node return node
cdef class Date(Node): cdef class Date(Node):
def __cinit__(self, value=None, *args, **kwargs): def __cinit__(self, object value=None, *args, **kwargs):
self._c_node = create_date_plist(value) self._c_node = create_date_plist(value)
def __repr__(self): def __repr__(self):
...@@ -401,7 +403,7 @@ cdef Date Date_factory(plist_t c_node, bint managed=True): ...@@ -401,7 +403,7 @@ cdef Date Date_factory(plist_t c_node, bint managed=True):
return instance return instance
cdef class Data(Node): cdef class Data(Node):
def __cinit__(self, value=None, *args, **kwargs): def __cinit__(self, object value=None, *args, **kwargs):
if value is None: if value is None:
self._c_node = plist_new_data(NULL, 0) self._c_node = plist_new_data(NULL, 0)
else: else:
...@@ -437,8 +439,10 @@ cdef class Data(Node): ...@@ -437,8 +439,10 @@ cdef class Data(Node):
finally: finally:
stdlib.free(val) stdlib.free(val)
cpdef set_value(self, bytes value): cpdef set_value(self, object value):
plist_set_data_val(self._c_node, value, len(value)) cdef:
bytes py_val = value
plist_set_data_val(self._c_node, py_val, len(value))
cdef Data Data_factory(plist_t c_node, bint managed=True): cdef Data Data_factory(plist_t c_node, bint managed=True):
cdef Data instance = Data.__new__(Data) cdef Data instance = Data.__new__(Data)
...@@ -460,7 +464,7 @@ cdef plist_t create_dict_plist(object value=None): ...@@ -460,7 +464,7 @@ cdef plist_t create_dict_plist(object value=None):
cimport python_dict cimport python_dict
cdef class Dict(Node): cdef class Dict(Node):
def __cinit__(self, value=None, *args, **kwargs): def __cinit__(self, object value=None, *args, **kwargs):
self._c_node = create_dict_plist(value) self._c_node = create_dict_plist(value)
def __init__(self, value=None, *args, **kwargs): def __init__(self, value=None, *args, **kwargs):
...@@ -584,7 +588,7 @@ cdef plist_t create_array_plist(object value=None): ...@@ -584,7 +588,7 @@ cdef plist_t create_array_plist(object value=None):
return node return node
cdef class Array(Node): cdef class Array(Node):
def __cinit__(self, value=None, *args, **kwargs): def __cinit__(self, object value=None, *args, **kwargs):
self._c_node = create_array_plist(value) self._c_node = create_array_plist(value)
def __init__(self, value=None, *args, **kwargs): def __init__(self, value=None, *args, **kwargs):
...@@ -623,7 +627,7 @@ cdef class Array(Node): ...@@ -623,7 +627,7 @@ cdef class Array(Node):
cpdef list get_value(self): cpdef list get_value(self):
return [i.get_value() for i in self] return [i.get_value() for i in self]
cpdef set_value(self, value): cpdef set_value(self, object value):
self._array = [] self._array = []
plist_free(self._c_node) plist_free(self._c_node)
self._c_node = NULL self._c_node = NULL
...@@ -655,7 +659,7 @@ cdef class Array(Node): ...@@ -655,7 +659,7 @@ cdef class Array(Node):
del self._array[index] del self._array[index]
plist_array_remove_item(self._c_node, index) plist_array_remove_item(self._c_node, index)
cpdef append(self, item): cpdef append(self, object item):
cdef Node n cdef Node n
if isinstance(item, Node): if isinstance(item, Node):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment