✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ beluga.o2switch.net ​🇻​♯➤ 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 185.154.139.77 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.254
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/alt/python37/lib64/python3.7/ctypes/test//test_stringptr.py
import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

    @support.refcount_test
    def test__POINTER_c_char(self):
        class X(Structure):
            _fields_ = [("str", POINTER(c_char))]
        x = X()

        # NULL pointer access
        self.assertRaises(ValueError, getattr, x.str, "contents")
        b = c_buffer(b"Hello, World")
        from sys import getrefcount as grc
        self.assertEqual(grc(b), 2)
        x.str = b
        self.assertEqual(grc(b), 3)

        # POINTER(c_char) and Python string is NOT compatible
        # POINTER(c_char) and c_buffer() is compatible
        for i in range(len(b)):
            self.assertEqual(b[i], x.str[i])

        self.assertRaises(TypeError, setattr, x, "str", "Hello, World")

    def test__c_char_p(self):
        class X(Structure):
            _fields_ = [("str", c_char_p)]
        x = X()

        # c_char_p and Python string is compatible
        # c_char_p and c_buffer is NOT compatible
        self.assertEqual(x.str, None)
        x.str = b"Hello, World"
        self.assertEqual(x.str, b"Hello, World")
        b = c_buffer(b"Hello, World")
        self.assertRaises(TypeError, setattr, x, b"str", b)


    def test_functions(self):
        strchr = lib.my_strchr
        strchr.restype = c_char_p

        # c_char_p and Python string is compatible
        # c_char_p and c_buffer are now compatible
        strchr.argtypes = c_char_p, c_char
        self.assertEqual(strchr(b"abcdef", b"c"), b"cdef")
        self.assertEqual(strchr(c_buffer(b"abcdef"), b"c"), b"cdef")

        # POINTER(c_char) and Python string is NOT compatible
        # POINTER(c_char) and c_buffer() is compatible
        strchr.argtypes = POINTER(c_char), c_char
        buf = c_buffer(b"abcdef")
        self.assertEqual(strchr(buf, b"c"), b"cdef")
        self.assertEqual(strchr(b"abcdef", b"c"), b"cdef")

        # XXX These calls are dangerous, because the first argument
        # to strchr is no longer valid after the function returns!
        # So we must keep a reference to buf separately

        strchr.restype = POINTER(c_char)
        buf = c_buffer(b"abcdef")
        r = strchr(buf, b"c")
        x = r[0], r[1], r[2], r[3], r[4]
        self.assertEqual(x, (b"c", b"d", b"e", b"f", b"\000"))
        del buf
        # x1 will NOT be the same as x, usually:
        x1 = r[0], r[1], r[2], r[3], r[4]

if __name__ == '__main__':
    unittest.main()


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
25 Jul 2024 8.42 AM
root / linksafe
0755
__pycache__
--
25 Jul 2024 8.42 AM
root / linksafe
0755
__init__.py
0.39 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
__main__.py
0.066 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_anon.py
2.48 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_array_in_pointer.py
1.697 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_arrays.py
6.91 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_as_parameter.py
6.757 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_bitfields.py
9.814 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_buffers.py
2.55 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_bytes.py
1.94 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_byteswap.py
11.144 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_callbacks.py
9.749 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_cast.py
3.641 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_cfuncs.py
7.5 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_checkretval.py
0.945 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_delattr.py
0.521 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_errno.py
2.12 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_find.py
4.329 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_frombuffer.py
5.093 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_funcptr.py
3.932 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_functions.py
12.261 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_incomplete.py
0.999 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_init.py
1.015 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_internals.py
2.569 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_keeprefs.py
3.963 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_libc.py
0.981 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_loading.py
4.215 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_macholib.py
2.293 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_memfunctions.py
3.216 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_numbers.py
9.09 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_objects.py
1.638 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_parameters.py
9.344 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_pep3118.py
8.316 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_pickling.py
2.166 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_pointers.py
7.069 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_prototypes.py
6.685 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_python_api.py
2.799 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_random_things.py
2.761 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_refcounts.py
2.516 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_repr.py
0.822 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_returnfuncptrs.py
2.825 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_simplesubclasses.py
1.259 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_sizes.py
0.785 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_slicing.py
5.884 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_stringptr.py
2.477 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_strings.py
7.132 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_struct_fields.py
2.364 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_structures.py
25.261 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_unaligned_structures.py
1.187 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_unicode.py
1.72 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_values.py
3.751 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_varsize_struct.py
1.799 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_win32.py
5.959 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_wintypes.py
1.432 KB
17 Apr 2024 5.36 PM
root / linksafe
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF