Commit 565431cc authored by scoder's avatar scoder

Merge pull request #276 from kmike/fix-strings-tutorial

fix deprecated imports in "Unicode and passing strings" tutorial
parents 120fe47b ecca40fe
...@@ -139,13 +139,13 @@ exception, e.g. due to insufficient memory. If you need to ...@@ -139,13 +139,13 @@ exception, e.g. due to insufficient memory. If you need to
:c:func:`free()` the string after the conversion, you should wrap :c:func:`free()` the string after the conversion, you should wrap
the assignment in a try-finally construct:: the assignment in a try-finally construct::
cimport stdlib from libc.stdlib cimport free
cdef bytes py_string cdef bytes py_string
cdef char* c_string = c_call_creating_a_new_c_string() cdef char* c_string = c_call_creating_a_new_c_string()
try: try:
py_string = c_string py_string = c_string
finally: finally:
stdlib.free(c_string) free(c_string)
To convert the byte string back into a C :c:type:`char*`, use the To convert the byte string back into a C :c:type:`char*`, use the
opposite assignment:: opposite assignment::
...@@ -376,8 +376,7 @@ conversions in general) in dedicated functions, as this needs to be ...@@ -376,8 +376,7 @@ conversions in general) in dedicated functions, as this needs to be
done in exactly the same way whenever receiving text from C. This done in exactly the same way whenever receiving text from C. This
could look as follows:: could look as follows::
cimport python_unicode from libc.stdlib cimport free
cimport stdlib
cdef unicode tounicode(char* s): cdef unicode tounicode(char* s):
return s.decode('UTF-8', 'strict') return s.decode('UTF-8', 'strict')
...@@ -391,7 +390,7 @@ could look as follows:: ...@@ -391,7 +390,7 @@ could look as follows::
try: try:
return s[:length].decode('UTF-8', 'strict') return s[:length].decode('UTF-8', 'strict')
finally: finally:
stdlib.free(s) free(s)
Most likely, you will prefer shorter function names in your code based Most likely, you will prefer shorter function names in your code based
on the kind of string being handled. Different types of content often on the kind of string being handled. Different types of content often
......
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