HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-160-generic #170-Ubuntu SMP Wed Oct 1 10:06:56 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/share/gdb/python/gdb/function/__pycache__/strfns.cpython-310.pyc
o

̴6b+�@sxdZddlZddlZGdd�dej�ZGdd�dej�ZGdd�dej�ZGd	d
�d
ej�Ze�e�e�e�dS)z#$_memeq, $_strlen, $_streq, $_regex�Nc�(eZdZdZ�fdd�Zdd�Z�ZS)�_MemEqz�$_memeq - compare bytes of memory.

    Usage: $_memeq (A, B, LEN)

    Returns:
      True if LEN bytes at A and B compare equally.c�tt|��d�dS)N�_memeq)�superr�__init__��self��	__class__��,/usr/share/gdb/python/gdb/function/strfns.pyr�z_MemEq.__init__cCs\|dkrtd��|dkrdSt�d��|d�}|��}|�|�}|�|�}|��|��kS)Nrzlength must be non-negativeT�char�)�
ValueError�gdb�lookup_type�vector�pointer�reinterpret_cast�dereference)r	�a�b�length�byte_vector�ptr_byte_vector�a_ptr�b_ptrrrr
�invoke"s

z
_MemEq.invoke��__name__�
__module__�__qualname__�__doc__rr�
__classcell__rrr
r
r�rcr)�_StrLenz�$_strlen - compute string length.

    Usage: $_strlen (A)

    Returns:
      Length of string A, assumed to be a string in the current language.cr)N�_strlen)rr'rrr
rr
r7rz_StrLen.__init__cCs|��}t|�S�N)�string�len)r	r�srrr
r:sz_StrLen.invoker rrr
r
r'/r&r'cr)�_StrEqz�$_streq - check string equality.

    Usage: $_streq (A, B)

    Returns:
      True if A and B are identical strings in the current language.

    Example (amd64-linux):
      catch syscall open
      cond $bpnum $_streq((char*) $rdi, "foo")cr)N�_streq)rr-rrr
rr
rKrz_StrEq.__init__cCs|��|��kSr))r*)r	rrrrr
rNsz
_StrEq.invoker rrr
r
r-?sr-cr)�_RegExz�$_regex - check if a string matches a regular expression.

    Usage: $_regex (STRING, REGEX)

    Returns:
      True if string STRING (in the current language) matches the
      regular expression REGEX.cr)N�_regex)rr/rrr
rr
r[rz_RegEx.__init__cCs$|��}t�|���}t|�|��Sr))r*�re�compile�bool�match)r	r*�regexr,�rrrr
r^sz
_RegEx.invoker rrr
r
r/Rsr/)r$rr1�Functionrr'r-r/rrrr
�<module>s