File: //lib/python3.10/__pycache__/xdrlib.cpython-310.pyc
o
    E�h  �                   @   st   d Z ddlZddlmZ ddlmZ g d�ZG dd� de�ZG dd	� d	e�Z	d
d� Z
G dd
� d
�ZG dd� d�ZdS )zRImplements (a subset of) Sun XDR -- eXternal Data Representation.
See: RFC 1014
�    N)�BytesIO��wraps)�Error�Packer�Unpacker�ConversionErrorc                   @   s(   e Zd ZdZdd� Zdd� Zdd� ZdS )	r   z�Exception class for this module. Use:
    except xdrlib.Error as var:
        # var has the Error instance for the exception
    Public ivars:
        msg -- contains the message
    c                 C   �
   || _ d S �N)�msg)�selfr   � r
   �/usr/lib/python3.10/xdrlib.py�__init__   �   
zError.__init__c                 C   �
   t | j�S r
   )�reprr   �r   r
   r
   r   �__repr__   r   zError.__repr__c                 C   r   r
   )�strr   r   r
   r
   r   �__str__   r   z
Error.__str__N)�__name__�
__module__�__qualname__�__doc__r   r   r   r
   r
   r
   r   r      s
    	r   c                   @   s   e Zd ZdS )r   N)r   r   r   r
   r
   r
   r   r       s    r   c                    s   t � �� fdd��}|S )z5 Wrap any raised struct.errors in a ConversionError. c              
      s8   z� | |�W S  t jy } zt|jd �d �d }~ww �Nr   )�struct�errorr   �args)r   �value�e��functionr
   r   �result&