| 871 | | |
| 872 | | binN = ur_makeBinary( ur_is(from, UT_INT) ? ur_int(from) : 32 ); |
| | 871 | int len; |
| | 872 | |
| | 873 | |
| | 874 | switch( ur_type(from) ) |
| | 875 | { |
| | 876 | case UT_INT: |
| | 877 | len = (ur_int(from) + 7) / 8; |
| | 878 | break; |
| | 879 | |
| | 880 | case UT_BINARY: |
| | 881 | bin = ur_bin(from); |
| | 882 | len = bin->used; |
| | 883 | bits = bin->ptr.b; |
| | 884 | |
| | 885 | binN = ur_makeBinary( bin->used ); |
| | 886 | bin = ur_binPtr( binN ); |
| | 887 | bin->used = len; |
| | 888 | memCpy( bin->ptr.b, bits, len ); |
| | 889 | return binN; |
| | 890 | |
| | 891 | default: |
| | 892 | len = 32; |
| | 893 | break; |
| | 894 | } |
| | 895 | |
| | 896 | binN = ur_makeBinary( len ); |