~kivy-team/pyjnius/trunk

« back to all changes in this revision

Viewing changes to jnius/jnius_nativetypes3.pxi

  • Committer: GitHub
  • Author(s): Mathieu Virbel
  • Date: 2017-08-22 08:27:33 UTC
  • mfrom: (191.5.1)
  • Revision ID: git-v1:406dd2099faf69769c1b2331892de941660cb9d7
Merge pull request #268 from b3b/empty_bytearray

bytearray: fix #267 operations on empty arrays

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
        self._jobject.create(env, obj)
41
41
        self._size = size
42
42
        self._buf = <unsigned char *><signed char *>buf
43
 
        self._arr = <unsigned char[:size]>self._buf
 
43
        if size:
 
44
            self._arr = <unsigned char[:size]>self._buf
44
45
 
45
46
    def __str__(self):
46
47
        return '<ByteArray size={} at 0x{}>'.format(
53
54
        cdef long xx
54
55
        if isinstance(index, slice):
55
56
            val = []
56
 
            (start, stop, step) = index.indices(len(self._arr))
57
 
            for x in range(start, stop, step):
58
 
                xx = x
59
 
                val.append(self._arr[xx])
 
57
            if self._size:
 
58
                (start, stop, step) = index.indices(len(self._arr))
 
59
                for x in range(start, stop, step):
 
60
                    xx = x
 
61
                    val.append(self._arr[xx])
60
62
            return val
61
63
        else:
62
64
            xx = index