コード例 #1
0
ファイル: ctypestruct.py プロジェクト: bukzor/pypy
 def _copy_from_same(self, cdata, w_ob):
     if isinstance(w_ob, cdataobj.W_CData):
         if w_ob.ctype is self and self.size >= 0:
             misc._raw_memcopy(w_ob._cdata, cdata, self.size)
             keepalive_until_here(w_ob)
             return True
     return False
コード例 #2
0
ファイル: ctypestruct.py プロジェクト: Qointum/pypy
 def _copy_from_same(self, cdata, w_ob):
     if isinstance(w_ob, cdataobj.W_CData):
         if w_ob.ctype is self and self.size >= 0:
             with w_ob as ptr:
                 misc._raw_memcopy(ptr, cdata, self.size)
             return True
     return False
コード例 #3
0
 def copy_and_convert_to_object(self, source):
     space = self.space
     self.check_complete()
     ob = cdataobj.W_CDataNewOwning(space, self.size, self)
     with ob as target:
         misc._raw_memcopy(source, target, self.size)
     return ob
コード例 #4
0
ファイル: ctypestruct.py プロジェクト: bukzor/pypy
 def copy_and_convert_to_object(self, cdata):
     space = self.space
     self.check_complete()
     ob = cdataobj.W_CDataNewOwning(space, self.size, self)
     misc._raw_memcopy(cdata, ob._cdata, self.size)
     keepalive_until_here(ob)
     return ob
コード例 #5
0
 def _copy_from_same(self, cdata, w_ob):
     if isinstance(w_ob, cdataobj.W_CData):
         if w_ob.ctype is self and self.size >= 0:
             misc._raw_memcopy(w_ob._cdata, cdata, self.size)
             keepalive_until_here(w_ob)
             return True
     return False
コード例 #6
0
 def copy_and_convert_to_object(self, cdata):
     space = self.space
     self.check_complete()
     ob = cdataobj.W_CDataNewOwning(space, self.size, self)
     misc._raw_memcopy(cdata, ob._cdata, self.size)
     keepalive_until_here(ob)
     return ob
コード例 #7
0
ファイル: ctypestruct.py プロジェクト: Qointum/pypy
 def _copy_from_same(self, cdata, w_ob):
     if isinstance(w_ob, cdataobj.W_CData):
         if w_ob.ctype is self and self.size >= 0:
             with w_ob as ptr:
                 misc._raw_memcopy(ptr, cdata, self.size)
             return True
     return False
コード例 #8
0
ファイル: ctypestruct.py プロジェクト: pypyjs/pypy
 def copy_and_convert_to_object(self, source):
     space = self.space
     self.check_complete()
     ob = cdataobj.W_CDataNewOwning(space, self.size, self)
     with ob as target:
         misc._raw_memcopy(source, target, self.size)
     return ob
コード例 #9
0
ファイル: ctypestruct.py プロジェクト: Qointum/pypy
 def copy_and_convert_to_object(self, source):
     space = self.space
     self.check_complete()
     ptr = lltype.malloc(rffi.CCHARP.TO,
                         self.size,
                         flavor='raw',
                         zero=False)
     misc._raw_memcopy(source, ptr, self.size)
     return cdataobj.W_CDataNewStd(space, ptr, self)
コード例 #10
0
ファイル: ccallback.py プロジェクト: yuyichao/pypy
 def write_error_return_value(self, ll_res):
     fresult = self.getfunctype().ctitem
     if fresult.size > 0:
         misc._raw_memcopy(self.ll_error, ll_res, fresult.size)
         keepalive_until_here(self)
コード例 #11
0
 def write_error_return_value(self, ll_res):
     fresult = self.getfunctype().ctitem
     if fresult.size > 0:
         misc._raw_memcopy(self.ll_error, ll_res, fresult.size)
         keepalive_until_here(self)  # to keep self.ll_error alive
コード例 #12
0
ファイル: ctypestruct.py プロジェクト: Qointum/pypy
 def copy_and_convert_to_object(self, source):
     space = self.space
     self.check_complete()
     ptr = lltype.malloc(rffi.CCHARP.TO, self.size, flavor="raw", zero=False)
     misc._raw_memcopy(source, ptr, self.size)
     return cdataobj.W_CDataNewStd(space, ptr, self)