Skip to content

Commit 1a90d45

Browse files
committed
read_str strips of Null bytes
1 parent 78d65c1 commit 1a90d45

File tree

10 files changed

+14
-14
lines changed

10 files changed

+14
-14
lines changed

aaf/define/DefObject.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ cdef class DefObject(AAFObject):
3131
error_check(self.defobject_ptr.GetName(buf.get_ptr(), buf.size_in_bytes))
3232

3333
# strip off Null Terminator
34-
return buf.read_str()[:-1]
34+
return buf.read_str()

aaf/define/MetaDef.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ cdef class MetaDef(AAFBase):
3030
error_check(self.meta_ptr.GetName(buf.get_ptr(), buf.size_in_bytes))
3131

3232
# strip off Null Terminator
33-
return buf.read_str()[:-1]
33+
return buf.read_str()
3434

3535

3636
property description:
@@ -44,7 +44,7 @@ cdef class MetaDef(AAFBase):
4444
error_check(self.meta_ptr.GetDescription(buf.get_ptr(), buf.size_in_bytes))
4545

4646
# strip off Null Terminator
47-
return buf.read_str()[:-1]
47+
return buf.read_str()
4848

4949
property auid:
5050
def __get__(self):

aaf/define/TypeDefEnum.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ cdef class TypeDefEnum(TypeDef):
4141
error_check(self.ptr.GetElementName(index, buf.get_ptr(), buf.size_in_bytes))
4242

4343
# strip off Null Terminator
44-
return buf.read_str()[:-1]
44+
return buf.read_str()
4545

4646
def element_name_from_value(self, PropertyValue p_value):
4747
cdef lib.aafUInt32 size_in_bytes
@@ -54,7 +54,7 @@ cdef class TypeDefEnum(TypeDef):
5454
error_check(self.ptr.GetNameFromValue(p_value.ptr, buf.get_ptr(), buf.size_in_bytes))
5555

5656
# strip off Null Terminator
57-
return buf.read_str()[:-1]
57+
return buf.read_str()
5858

5959
def element_value(self, lib.aafUInt32 index):
6060
cdef lib.aafInt64 value

aaf/define/TypeDefExtEnum.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ cdef class TypeDefExtEnum(TypeDef):
3535
error_check(self.ptr.GetElementName(index, buf.get_ptr(), buf.size_in_bytes))
3636

3737
# strip off Null Terminator
38-
return buf.read_str()[:-1]
38+
return buf.read_str()
3939

4040
def element_name_from_value(self, PropertyValue p_value):
4141
cdef lib.aafUInt32 size_in_bytes
@@ -48,7 +48,7 @@ cdef class TypeDefExtEnum(TypeDef):
4848
error_check(self.ptr.GetNameFromValue(p_value.ptr, buf.get_ptr(), buf.size_in_bytes))
4949

5050
# strip off Null Terminator
51-
return buf.read_str()[:-1]
51+
return buf.read_str()
5252

5353
def element_value(self, lib.aafUInt32 index):
5454

aaf/define/TypeDefRecord.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ cdef class TypeDefRecord(TypeDef):
106106
buf.size_in_bytes = size_in_bytes
107107
error_check(self.ptr.GetMemberName(index, buf.get_ptr(), buf.size_in_bytes))
108108

109-
return buf.read_str()[:-1]
109+
return buf.read_str()
110110

111111
def member_typedef(self, lib.aafUInt32 index):
112112
cdef TypeDef typedef = TypeDef.__new__(TypeDef)

aaf/define/TypeDefString.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ cdef class TypeDefString(TypeDef):
4747
error_check(self.ptr.GetElements(p_value.ptr, <lib.aafMemPtr_t> buf.get_ptr(), buf.size_in_bytes))
4848

4949
# strip off Null Terminator
50-
return buf.read_str()[:-1]
50+
return buf.read_str()
5151

5252
def value(self, PropertyValue p_value):
5353
return self.get_value(p_value)

aaf/essence/EssenceAccess.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ cdef class EssenceAccess(EssenceMultiAccess):
147147
name.size = 1024
148148
error_check(self.ptr.GetCodecName(name.size, name.get_ptr()))
149149

150-
return name.read_str().rstrip("\0")
150+
return name.read_str()
151151

152152
property codecID:
153153
def __get__(self):

aaf/essence/Locator.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ cdef class Locator(AAFObject):
3737
error_check(self.loc_ptr.GetPath(buf.get_ptr(), buf.size_in_bytes))
3838

3939
# strip off Null Terminator
40-
return buf.read_str()[:-1]
40+
return buf.read_str()
4141

4242
def __set__(self, value):
4343
cdef AAFCharBuffer buf = AAFCharBuffer(value)

aaf/util/AAFCharBuffer.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ cdef class AAFCharBuffer(object):
6666
return self.read_unicode().encode("ascii")
6767

6868
cpdef object read_str(self):
69-
return self.read_unicode()
69+
return self.read_unicode().rstrip("\0")
7070

7171
cpdef bytes read_raw(self):
7272
cdef char * data = <char *> &self.buf[0]
@@ -80,7 +80,7 @@ cdef class AAFCharBuffer(object):
8080
return self.buf.size() * sizeof(lib.aafCharacter)
8181

8282
def __set__(self, size_t size):
83-
self.buf.resize(size / self.aafchar_size)
83+
self.buf.resize( (size / self.aafchar_size) + 1)
8484

8585
property size:
8686
def __get__(self):

tests/test_AAFCharBuffer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def test_basic(self):
4949

5050
for text in (char_num(40960), b'cow', u'cow', char_num(255), "some text", u"\U0001F600"):
5151
buf = aaf.util.AAFCharBuffer(text)
52-
result = buf.read_unicode()[:-1]
52+
result = buf.read_str()
5353

5454
if isinstance(text, bytes):
5555
text = text.decode("ascii")

0 commit comments

Comments
 (0)