Subversion Repositories Kolibri OS

Rev

Rev 7873 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7873 rgimad 1
 
2
 
3
	con_init_console_dll();
4
	char str[2];
5
	str[0] = ch;
6
	str[1] = 0;
7
	con_write_asciiz(str);
8
	return ch;
9
}
10
11
void puts(const char *str)
12
 
7894 rgimad 13
	con_init_console_dll();
7873 rgimad 14
	con_write_asciiz(str);
15
}
16
17
char* gets(char* str)
18
 
7894 rgimad 19
	con_init_console_dll();
7873 rgimad 20
	return con_gets(str, 256);
21
}
22
23
24
 
25
 
26
    unsigned int n, d = 1000000000;
27
    char str[255];
28
    unsigned int dec_index = 0;
29
    while( ( i/d == 0 ) && ( d >= 10 ) ) d /= 10;
30
    n = i;
31
    while(d >= 10)
32
    {
33
        str[dec_index++] = ((char)((int)'0' + n/d));
34
        n = n % d;
35
        d /= 10;
36
    }
37
    str[dec_index++] = ((char)((int)'0' + n));
38
    str[dec_index] = 0;
39
    puts(str);
40
}
41
42
void putint(int i)
43
 
44
    if(i >= 0)
45
    {
46
        putuint(i);
47
    } else {
48
        putchar('-');
49
        putuint(-i);
50
    }
51
}
52
53
54
 
55
 
56
    const unsigned char hex[16]  =  { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
57
    unsigned int n, d = 0x10000000;
58
59
    puts("0x");
60
 
61
    n = i;
62
    while( d >= 0xF )
63
    {
64
        putchar(hex[n/d]);
65
        n = n % d;
66
        d /= 0x10;
67
    }
68
    putchar(hex[n]);
69
}
70
71
72
 
73
 
74
    int i = 0;
75
    char *string;
76
77
    while (format[i])
78
 
79
        if (format[i] == '%')
80
        {
81
            i++;
82
            switch (format[i])
83
            {
84
                case 's':
85
                    string = va_arg(args, char*);
86
                    puts(string);
87
                    break;
88
                case 'c':
89
                    // To-Do: fix this! "warning: cast to pointer from integer of different size"
90
                    putchar(va_arg(args, int));
91
                    break;
92
                case 'd':
93
                    putint(va_arg(args, int));
94
                    break;
95
                case 'i':
96
                    putint(va_arg(args, int));
97
                    break;
98
                case 'u':
99
                    putuint(va_arg(args, unsigned int));
100
                    break;
101
                case 'x':
102
                    puthex(va_arg(args, uint32_t));
103
                    break;
104
                default:
105
                    putchar(format[i]);
106
            }
107
        } else {
108
            putchar(format[i]);
109
        }
110
        i++;
111
    }//endwhile
112
}
113
114
115
 
116
 
117
    va_list args;
118
    // find the first argument
119
    va_start(args, text);
120
    // pass print the output handle the format text and the first argument
121
    print(text, args);
122
}
123