Revision fccfb11e

b/monitor.c
75 75
 *              user mode accepts an optional G, g, M, m, K, k suffix,
76 76
 *              which multiplies the value by 2^30 for suffixes G and
77 77
 *              g, 2^20 for M and m, 2^10 for K and k
78
 * 'T'          double
79
 *              user mode accepts an optional ms, us, ns suffix,
80
 *              which divides the value by 1e3, 1e6, 1e9, respectively
78 81
 * '/'          optional gdb-like print format (like "/10x")
79 82
 *
80 83
 * '?'          optional type (for all types, except '/')
......
3662 3665
            }
3663 3666
            break;
3664 3667
        case 'b':
3668
        case 'T':
3665 3669
            {
3666 3670
                double val;
3667 3671

  
......
3676 3680
                if (get_double(mon, &val, &p) < 0) {
3677 3681
                    goto fail;
3678 3682
                }
3679
                if (*p) {
3683
                if (c == 'b' && *p) {
3680 3684
                    switch (*p) {
3681 3685
                    case 'K': case 'k':
3682 3686
                        val *= 1 << 10; p++; break;
......
3686 3690
                        val *= 1 << 30; p++; break;
3687 3691
                    }
3688 3692
                }
3693
                if (c == 'T' && p[0] && p[1] == 's') {
3694
                    switch (*p) {
3695
                    case 'm':
3696
                        val /= 1e3; p += 2; break;
3697
                    case 'u':
3698
                        val /= 1e6; p += 2; break;
3699
                    case 'n':
3700
                        val /= 1e9; p += 2; break;
3701
                    }
3702
                }
3689 3703
                if (*p && !qemu_isspace(*p)) {
3690 3704
                    monitor_printf(mon, "Unknown unit suffix\n");
3691 3705
                    goto fail;
......
4119 4133
            }
4120 4134
            break;
4121 4135
        case 'b':
4136
        case 'T':
4122 4137
            if (qobject_type(value) != QTYPE_QINT && qobject_type(value) != QTYPE_QFLOAT) {
4123 4138
                qemu_error_new(QERR_INVALID_PARAMETER_TYPE, name, "number");
4124 4139
                return -1;

Also available in: Unified diff