Edit File: tools.cpython-36.pyc
3 �eH � @ s� d dl mZ d dlmZmZmZ d dlmZmZ d dlm Z m Z mZmZm Z d dlmZmZmZmZ dd� Zdd � Zd efdd�Zejd �ejd � Zed dd�Zdd� Zdd� Zdd� Zdd� Zdd� Z d S )� )�sizeof)�formatUintHex16�formatUintHex32� formatWordHex)�datetime� timedelta)�getenv�access�X_OK�pathsep�getcwd)�join�isabs�dirname�normpathc C s� t dd� |jD ��}d| }xh|jD ]^\}}t||�}|| }t|�dkrTt|�}nt|�dkrjt|�}nt|�}| d||f � q$W dS )zA Dump all registers using log callback (write one line). c s s | ]\}}t |�V qd S )N)�len)�.0�name�type� r �5/tmp/pip-build-uv1wutoy/python-ptrace/ptrace/tools.py� <genexpr> s zdumpRegs.<locals>.<genexpr>z%% %us� � z%s = %sN)�max�_fields_�getattrr r r r )�log�regs�widthZname_formatr r �valuer r r �dumpRegs s r! c C sJ g }x.|D ]&\}}| |@ sq |j |� | | @ } q W | rF|j t| �� |S )a> Extract bits from the integer value using a list of bit masks. bitmasks is a list of tuple (mask, text). >>> bitmask = ( ... (1, "exec"), ... (2, "write"), ... (4, "read")) ... >>> readBits(5, bitmask) ['exec', 'read'] >>> readBits(12, bitmask) ['read', '8'] )�append�str)r �bitmasksZbitset�mask�itemr r r �readBits s r'