@@ -320,12 +320,20 @@ cdef class Tox_Options_Ptr:
320320 tox_options_set_savedata_type(self ._get(), savedata_type)
321321
322322 @property
323- def savedata_data (self ) -> bytes:
324- return tox_options_get_savedata_data(self._get())[:tox_options_get_savedata_length(self._get())]
323+ def savedata (self ) -> bytes:
324+ cdef size_t size = tox_options_get_savedata_size(self ._get())
325+ cdef uint8_t* data = < uint8_t* > malloc(size)
326+ if data is NULL:
327+ raise MemoryError()
328+ try:
329+ tox_options_get_savedata(self._get(), data )
330+ return bytes(data[:size])
331+ finally:
332+ free(data )
325333
326- @savedata_data .setter
327- def savedata_data (self , savedata_data : bytes ):
328- tox_options_set_savedata_data (self ._get(), savedata_data , len (savedata_data ))
334+ @savedata .setter
335+ def savedata (self , savedata : bytes ):
336+ tox_options_set_savedata (self ._get(), savedata , len (savedata ))
329337
330338 @property
331339 def experimental_owned_data (self ) -> bool:
@@ -475,6 +483,8 @@ cdef class Tox_Ptr:
475483 def savedata (self ) -> bytes:
476484 cdef size_t size = tox_get_savedata_size(self ._get())
477485 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
486+ if data is NULL:
487+ raise MemoryError()
478488 try:
479489 tox_get_savedata(self._get(), data )
480490 return data[:size]
@@ -508,6 +518,8 @@ cdef class Tox_Ptr:
508518 def address(self ) -> bytes:
509519 cdef size_t size = tox_address_size()
510520 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
521+ if data is NULL:
522+ raise MemoryError()
511523 try:
512524 tox_self_get_address(self._get(), data )
513525 return data[:size]
@@ -518,6 +530,8 @@ cdef class Tox_Ptr:
518530 def public_key(self ) -> bytes:
519531 cdef size_t size = tox_public_key_size()
520532 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
533+ if data is NULL:
534+ raise MemoryError()
521535 try:
522536 tox_self_get_public_key(self._get(), data )
523537 return data[:tox_public_key_size()]
@@ -528,6 +542,8 @@ cdef class Tox_Ptr:
528542 def dht_id(self ) -> bytes:
529543 cdef size_t size = tox_public_key_size()
530544 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
545+ if data is NULL:
546+ raise MemoryError()
531547 try:
532548 tox_self_get_dht_id(self._get(), data )
533549 return data[:tox_public_key_size()]
@@ -554,6 +570,8 @@ cdef class Tox_Ptr:
554570 def secret_key(self ) -> bytes:
555571 cdef size_t size = tox_secret_key_size()
556572 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
573+ if data is NULL:
574+ raise MemoryError()
557575 try:
558576 tox_self_get_secret_key(self._get(), data )
559577 return data[:tox_secret_key_size()]
@@ -564,6 +582,8 @@ cdef class Tox_Ptr:
564582 def name(self ) -> bytes:
565583 cdef size_t size = tox_self_get_name_size(self ._get())
566584 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
585+ if data is NULL:
586+ raise MemoryError()
567587 try:
568588 tox_self_get_name(self._get(), data )
569589 return data[:size]
@@ -581,6 +601,8 @@ cdef class Tox_Ptr:
581601 def status_message(self ) -> bytes:
582602 cdef size_t size = tox_self_get_status_message_size(self ._get())
583603 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
604+ if data is NULL:
605+ raise MemoryError()
584606 try:
585607 tox_self_get_status_message(self._get(), data )
586608 return data[:size]
@@ -631,6 +653,8 @@ cdef class Tox_Ptr:
631653 def friend_list(self ) -> list[Tox_Friend_Number]:
632654 cdef size_t size = tox_self_get_friend_list_size(self ._get())
633655 cdef Tox_Friend_Number *data = < Tox_Friend_Number* > malloc(size * sizeof(Tox_Friend_Number))
656+ if data is NULL:
657+ raise MemoryError()
634658 try:
635659 tox_self_get_friend_list(self._get(), data )
636660 return [data[i] for i in range(size )]
@@ -640,6 +664,8 @@ cdef class Tox_Ptr:
640664 def friend_get_public_key(self , friend_number: Tox_Friend_Number ) -> bytes:
641665 cdef size_t size = tox_public_key_size()
642666 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
667+ if data is NULL:
668+ raise MemoryError()
643669 cdef Tox_Err_Friend_Get_Public_Key err = TOX_ERR_FRIEND_GET_PUBLIC_KEY_OK
644670 try:
645671 tox_friend_get_public_key(self._get(), friend_number , data , &err )
@@ -662,6 +688,8 @@ cdef class Tox_Ptr:
662688 if err:
663689 raise ApiException(Tox_Err_Friend_Query(err ))
664690 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
691+ if data is NULL:
692+ raise MemoryError()
665693 try:
666694 tox_friend_get_status_message(self._get(), friend_number , data , &err )
667695 if err:
@@ -676,6 +704,8 @@ cdef class Tox_Ptr:
676704 if err:
677705 raise ApiException(Tox_Err_Friend_Query(err ))
678706 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
707+ if data is NULL:
708+ raise MemoryError()
679709 try:
680710 tox_friend_get_name(self._get(), friend_number , data , &err )
681711 if err:
@@ -734,6 +764,8 @@ cdef class Tox_Ptr:
734764 cdef Tox_Err_File_Get err = TOX_ERR_FILE_GET_OK
735765 cdef size_t size = tox_file_id_length()
736766 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
767+ if data is NULL:
768+ raise MemoryError()
737769 try:
738770 tox_file_get_file_id(self._get(), friend_number , file_number , data , &err )
739771 if err:
@@ -806,6 +838,8 @@ cdef class Tox_Ptr:
806838 if err:
807839 raise ApiException(Tox_Err_Conference_Title(err ))
808840 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
841+ if data is NULL:
842+ raise MemoryError()
809843 try:
810844 tox_conference_get_title(self._get(), conference_number , data , &err )
811845 if err:
@@ -846,6 +880,8 @@ cdef class Tox_Ptr:
846880 if err:
847881 raise ApiException(Tox_Err_Conference_Peer_Query(err ))
848882 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
883+ if data is NULL:
884+ raise MemoryError()
849885 try:
850886 tox_conference_peer_get_name(self._get(), conference_number , peer_number , data , &err )
851887 if err:
@@ -860,6 +896,8 @@ cdef class Tox_Ptr:
860896 if err:
861897 raise ApiException(Tox_Err_Conference_Peer_Query(err ))
862898 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
899+ if data is NULL:
900+ raise MemoryError()
863901 try:
864902 tox_conference_offline_peer_get_name(self._get(), conference_number , offline_peer_number , data , &err )
865903 if err:
@@ -872,6 +910,8 @@ cdef class Tox_Ptr:
872910 cdef Tox_Err_Conference_Peer_Query err = TOX_ERR_CONFERENCE_PEER_QUERY_OK
873911 cdef size_t size = tox_public_key_size()
874912 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
913+ if data is NULL:
914+ raise MemoryError()
875915 try:
876916 tox_conference_peer_get_public_key(self._get(), conference_number , peer_number , data , &err )
877917 if err:
@@ -884,6 +924,8 @@ cdef class Tox_Ptr:
884924 cdef Tox_Err_Conference_Peer_Query err = TOX_ERR_CONFERENCE_PEER_QUERY_OK
885925 cdef size_t size = tox_public_key_size()
886926 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
927+ if data is NULL:
928+ raise MemoryError()
887929 try:
888930 tox_conference_offline_peer_get_public_key(self._get(), conference_number , offline_peer_number , data , &err )
889931 if err:
@@ -910,6 +952,8 @@ cdef class Tox_Ptr:
910952 def conference_chatlist(self ) -> list[Tox_Conference_Number]:
911953 cdef size_t size = tox_conference_get_chatlist_size(self ._get())
912954 cdef Tox_Conference_Number *data = < Tox_Conference_Number* > malloc(size * sizeof(Tox_Conference_Number))
955+ if data is NULL:
956+ raise MemoryError()
913957 try:
914958 tox_conference_get_chatlist(self._get(), data )
915959 return [data[i] for i in range(size )]
@@ -919,6 +963,8 @@ cdef class Tox_Ptr:
919963 def conference_get_id(self , conference_number: Tox_Conference_Number ) -> bytes:
920964 cdef size_t size = tox_conference_id_size()
921965 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
966+ if data is NULL:
967+ raise MemoryError()
922968 try:
923969 if not tox_conference_get_id(self._get(), conference_number , data ):
924970 raise ApiException(0 ) # TODO(iphydf): There's no error enum for this. Make one.
@@ -947,6 +993,8 @@ cdef class Tox_Ptr:
947993 if err:
948994 raise ApiException(Tox_Err_Group_Self_Query(err ))
949995 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
996+ if data is NULL:
997+ raise MemoryError()
950998 try:
951999 tox_group_self_get_name(self._get(), group_number , data , &err )
9521000 if err:
@@ -992,6 +1040,8 @@ cdef class Tox_Ptr:
9921040 cdef Tox_Err_Group_Self_Query err = TOX_ERR_GROUP_SELF_QUERY_OK
9931041 cdef size_t size = tox_public_key_size()
9941042 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
1043+ if data is NULL:
1044+ raise MemoryError()
9951045 try:
9961046 tox_group_self_get_public_key(self._get(), group_number , data , &err )
9971047 if err:
@@ -1006,6 +1056,8 @@ cdef class Tox_Ptr:
10061056 if err:
10071057 raise ApiException(Tox_Err_Group_Peer_Query(err ))
10081058 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
1059+ if data is NULL:
1060+ raise MemoryError()
10091061 try:
10101062 tox_group_peer_get_name(self._get(), group_number , peer_id , data , &err )
10111063 if err:
@@ -1045,6 +1097,8 @@ cdef class Tox_Ptr:
10451097 cdef Tox_Err_Group_Peer_Query err = TOX_ERR_GROUP_PEER_QUERY_OK
10461098 cdef size_t size = tox_public_key_size()
10471099 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
1100+ if data is NULL:
1101+ raise MemoryError()
10481102 try:
10491103 tox_group_peer_get_public_key(self._get(), group_number , peer_id , data , &err )
10501104 if err:
@@ -1059,6 +1113,8 @@ cdef class Tox_Ptr:
10591113 if err:
10601114 raise ApiException(Tox_Err_Group_State_Query(err ))
10611115 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
1116+ if data is NULL:
1117+ raise MemoryError()
10621118 try:
10631119 tox_group_get_topic(self._get(), group_number , data , &err )
10641120 if err:
@@ -1079,6 +1135,8 @@ cdef class Tox_Ptr:
10791135 if err:
10801136 raise ApiException(Tox_Err_Group_State_Query(err ))
10811137 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
1138+ if data is NULL:
1139+ raise MemoryError()
10821140 try:
10831141 tox_group_get_name(self._get(), group_number , data , &err )
10841142 if err:
@@ -1091,6 +1149,8 @@ cdef class Tox_Ptr:
10911149 cdef Tox_Err_Group_State_Query err = TOX_ERR_GROUP_STATE_QUERY_OK
10921150 cdef size_t size = tox_group_chat_id_size()
10931151 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
1152+ if data is NULL:
1153+ raise MemoryError()
10941154 try:
10951155 tox_group_get_chat_id(self._get(), group_number , data , &err )
10961156 if err:
@@ -1160,6 +1220,8 @@ cdef class Tox_Ptr:
11601220 if err:
11611221 raise ApiException(Tox_Err_Group_State_Query(err ))
11621222 cdef uint8_t *data = < uint8_t* > malloc(size * sizeof(uint8_t))
1223+ if data is NULL:
1224+ raise MemoryError()
11631225 try:
11641226 tox_group_get_password(self._get(), group_number , data , &err )
11651227 if err:
0 commit comments