Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
L
libplist
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pwn
libplist
Commits
b1ad30f5
Commit
b1ad30f5
authored
Sep 26, 2011
by
Bryan Forbes
Committed by
Nikias Bassen
Sep 26, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More qualifiers.
parent
bf1dcaec
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
19 deletions
+23
-19
plist.pxd
cython/plist.pxd
+4
-4
plist.pyx
cython/plist.pyx
+19
-15
No files found.
cython/plist.pxd
View file @
b1ad30f5
...
...
@@ -24,15 +24,15 @@ cdef class Real(Node):
cpdef float get_value(self)
cdef class String(Node):
cpdef set_value(self,
unicode
value)
cpdef set_value(self,
object
value)
cpdef unicode get_value(self)
cdef class Date(Node):
cpdef set_value(self, value)
cpdef set_value(self,
object
value)
cpdef object get_value(self)
cdef class Data(Node):
cpdef set_value(self,
bytes
value)
cpdef set_value(self,
object
value)
cpdef bytes get_value(self)
cdef class Dict(Node):
...
...
@@ -54,7 +54,7 @@ cdef class Array(Node):
cdef void _init(self)
cpdef set_value(self, value)
cpdef list get_value(self)
cpdef append(self, item)
cpdef append(self,
object
item)
cpdef object from_xml(xml)
cpdef object from_bin(bytes bin)
...
...
cython/plist.pyx
View file @
b1ad30f5
...
...
@@ -107,7 +107,8 @@ cdef class Node:
try:
return python_unicode.PyUnicode_DecodeUTF8(out, length, 'strict')
finally:
stdlib.free(out)
if out != NULL:
stdlib.free(out)
cpdef bytes to_bin(self):
cdef:
...
...
@@ -118,7 +119,8 @@ cdef class Node:
try:
return python_string.PyString_FromStringAndSize(out, length)
finally:
stdlib.free(out)
if out != NULL:
stdlib.free(out)
property parent:
def __get__(self):
...
...
@@ -135,7 +137,7 @@ cdef class Node:
return str(self.get_value())
cdef class Bool(Node):
def __cinit__(self, value=None, *args, **kwargs):
def __cinit__(self,
object
value=None, *args, **kwargs):
if value is None:
self._c_node = plist_new_bool(0)
else:
...
...
@@ -178,7 +180,7 @@ cdef Bool Bool_factory(plist_t c_node, bint managed=True):
return instance
cdef class Integer(Node):
def __cinit__(self, value=None, *args, **kwargs):
def __cinit__(self,
object
value=None, *args, **kwargs):
if value is None:
self._c_node = plist_new_uint(0)
else:
...
...
@@ -224,7 +226,7 @@ cdef Integer Integer_factory(plist_t c_node, bint managed=True):
return instance
cdef class Real(Node):
def __cinit__(self, value=None, *args, **kwargs):
def __cinit__(self,
object
value=None, *args, **kwargs):
if value is None:
self._c_node = plist_new_real(0.0)
else:
...
...
@@ -272,7 +274,7 @@ cdef Real Real_factory(plist_t c_node, bint managed=True):
from python_version cimport PY_MAJOR_VERSION
cdef class String(Node):
def __cinit__(self, value=None, *args, **kwargs):
def __cinit__(self,
object
value=None, *args, **kwargs):
cdef:
char* c_utf8_data = NULL
bytes utf8_data
...
...
@@ -308,7 +310,7 @@ cdef class String(Node):
if op == 5:
return s >= other
cpdef set_value(self,
unicode
value):
cpdef set_value(self,
object
value):
cdef:
char* c_utf8_data = NULL
bytes utf8_data
...
...
@@ -357,7 +359,7 @@ cdef plist_t create_date_plist(value=None):
return 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)
def __repr__(self):
...
...
@@ -401,7 +403,7 @@ cdef Date Date_factory(plist_t c_node, bint managed=True):
return instance
cdef class Data(Node):
def __cinit__(self, value=None, *args, **kwargs):
def __cinit__(self,
object
value=None, *args, **kwargs):
if value is None:
self._c_node = plist_new_data(NULL, 0)
else:
...
...
@@ -437,8 +439,10 @@ cdef class Data(Node):
finally:
stdlib.free(val)
cpdef set_value(self, bytes value):
plist_set_data_val(self._c_node, value, len(value))
cpdef set_value(self, object 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 instance = Data.__new__(Data)
...
...
@@ -460,7 +464,7 @@ cdef plist_t create_dict_plist(object value=None):
cimport python_dict
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)
def __init__(self, value=None, *args, **kwargs):
...
...
@@ -584,7 +588,7 @@ cdef plist_t create_array_plist(object value=None):
return 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)
def __init__(self, value=None, *args, **kwargs):
...
...
@@ -623,7 +627,7 @@ cdef class Array(Node):
cpdef list get_value(self):
return [i.get_value() for i in self]
cpdef set_value(self, value):
cpdef set_value(self,
object
value):
self._array = []
plist_free(self._c_node)
self._c_node = NULL
...
...
@@ -655,7 +659,7 @@ cdef class Array(Node):
del self._array[index]
plist_array_remove_item(self._c_node, index)
cpdef append(self, item):
cpdef append(self,
object
item):
cdef Node n
if isinstance(item, Node):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment