These are the examples provided for [[/users/frank26080115/libraries/LPC1700CMSIS_Lib/]] Note, the entire "program" is not compilable!
EMAC/uIP/common/printf-stdarg.c@0:bf7b9fba3924, 2011-03-20 (annotated)
- Committer:
- frank26080115
- Date:
- Sun Mar 20 05:38:56 2011 +0000
- Revision:
- 0:bf7b9fba3924
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
frank26080115 | 0:bf7b9fba3924 | 1 | /* |
frank26080115 | 0:bf7b9fba3924 | 2 | Copyright 2001, 2002 Georges Menie (www.menie.org) |
frank26080115 | 0:bf7b9fba3924 | 3 | stdarg version contributed by Christian Ettinger |
frank26080115 | 0:bf7b9fba3924 | 4 | |
frank26080115 | 0:bf7b9fba3924 | 5 | This program is free software; you can redistribute it and/or modify |
frank26080115 | 0:bf7b9fba3924 | 6 | it under the terms of the GNU Lesser General Public License as published by |
frank26080115 | 0:bf7b9fba3924 | 7 | the Free Software Foundation; either version 2 of the License, or |
frank26080115 | 0:bf7b9fba3924 | 8 | (at your option) any later version. |
frank26080115 | 0:bf7b9fba3924 | 9 | |
frank26080115 | 0:bf7b9fba3924 | 10 | This program is distributed in the hope that it will be useful, |
frank26080115 | 0:bf7b9fba3924 | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
frank26080115 | 0:bf7b9fba3924 | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
frank26080115 | 0:bf7b9fba3924 | 13 | GNU Lesser General Public License for more details. |
frank26080115 | 0:bf7b9fba3924 | 14 | |
frank26080115 | 0:bf7b9fba3924 | 15 | You should have received a copy of the GNU Lesser General Public License |
frank26080115 | 0:bf7b9fba3924 | 16 | along with this program; if not, write to the Free Software |
frank26080115 | 0:bf7b9fba3924 | 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
frank26080115 | 0:bf7b9fba3924 | 18 | */ |
frank26080115 | 0:bf7b9fba3924 | 19 | |
frank26080115 | 0:bf7b9fba3924 | 20 | /* |
frank26080115 | 0:bf7b9fba3924 | 21 | putchar is the only external dependency for this file, |
frank26080115 | 0:bf7b9fba3924 | 22 | if you have a working putchar, leave it commented out. |
frank26080115 | 0:bf7b9fba3924 | 23 | If not, uncomment the define below and |
frank26080115 | 0:bf7b9fba3924 | 24 | replace outbyte(c) by your own function call. |
frank26080115 | 0:bf7b9fba3924 | 25 | |
frank26080115 | 0:bf7b9fba3924 | 26 | */ |
frank26080115 | 0:bf7b9fba3924 | 27 | |
frank26080115 | 0:bf7b9fba3924 | 28 | |
frank26080115 | 0:bf7b9fba3924 | 29 | //#define putchar(c) c |
frank26080115 | 0:bf7b9fba3924 | 30 | extern int sendchar (int ch); |
frank26080115 | 0:bf7b9fba3924 | 31 | #define putchar(c) sendchar(c) |
frank26080115 | 0:bf7b9fba3924 | 32 | |
frank26080115 | 0:bf7b9fba3924 | 33 | #include <stdarg.h> |
frank26080115 | 0:bf7b9fba3924 | 34 | |
frank26080115 | 0:bf7b9fba3924 | 35 | static void printchar(char **str, int c) |
frank26080115 | 0:bf7b9fba3924 | 36 | { |
frank26080115 | 0:bf7b9fba3924 | 37 | //extern int putchar(int c); |
frank26080115 | 0:bf7b9fba3924 | 38 | |
frank26080115 | 0:bf7b9fba3924 | 39 | if (str) { |
frank26080115 | 0:bf7b9fba3924 | 40 | **str = (char)c; |
frank26080115 | 0:bf7b9fba3924 | 41 | ++(*str); |
frank26080115 | 0:bf7b9fba3924 | 42 | } |
frank26080115 | 0:bf7b9fba3924 | 43 | else |
frank26080115 | 0:bf7b9fba3924 | 44 | { |
frank26080115 | 0:bf7b9fba3924 | 45 | (void)putchar(c); |
frank26080115 | 0:bf7b9fba3924 | 46 | } |
frank26080115 | 0:bf7b9fba3924 | 47 | } |
frank26080115 | 0:bf7b9fba3924 | 48 | |
frank26080115 | 0:bf7b9fba3924 | 49 | #define PAD_RIGHT 1 |
frank26080115 | 0:bf7b9fba3924 | 50 | #define PAD_ZERO 2 |
frank26080115 | 0:bf7b9fba3924 | 51 | |
frank26080115 | 0:bf7b9fba3924 | 52 | static int prints(char **out, const char *string, int width, int pad) |
frank26080115 | 0:bf7b9fba3924 | 53 | { |
frank26080115 | 0:bf7b9fba3924 | 54 | register int pc = 0, padchar = ' '; |
frank26080115 | 0:bf7b9fba3924 | 55 | |
frank26080115 | 0:bf7b9fba3924 | 56 | if (width > 0) { |
frank26080115 | 0:bf7b9fba3924 | 57 | register int len = 0; |
frank26080115 | 0:bf7b9fba3924 | 58 | register const char *ptr; |
frank26080115 | 0:bf7b9fba3924 | 59 | for (ptr = string; *ptr; ++ptr) ++len; |
frank26080115 | 0:bf7b9fba3924 | 60 | if (len >= width) width = 0; |
frank26080115 | 0:bf7b9fba3924 | 61 | else width -= len; |
frank26080115 | 0:bf7b9fba3924 | 62 | if (pad & PAD_ZERO) padchar = '0'; |
frank26080115 | 0:bf7b9fba3924 | 63 | } |
frank26080115 | 0:bf7b9fba3924 | 64 | if (!(pad & PAD_RIGHT)) { |
frank26080115 | 0:bf7b9fba3924 | 65 | for ( ; width > 0; --width) { |
frank26080115 | 0:bf7b9fba3924 | 66 | printchar (out, padchar); |
frank26080115 | 0:bf7b9fba3924 | 67 | ++pc; |
frank26080115 | 0:bf7b9fba3924 | 68 | } |
frank26080115 | 0:bf7b9fba3924 | 69 | } |
frank26080115 | 0:bf7b9fba3924 | 70 | for ( ; *string ; ++string) { |
frank26080115 | 0:bf7b9fba3924 | 71 | printchar (out, *string); |
frank26080115 | 0:bf7b9fba3924 | 72 | ++pc; |
frank26080115 | 0:bf7b9fba3924 | 73 | } |
frank26080115 | 0:bf7b9fba3924 | 74 | for ( ; width > 0; --width) { |
frank26080115 | 0:bf7b9fba3924 | 75 | printchar (out, padchar); |
frank26080115 | 0:bf7b9fba3924 | 76 | ++pc; |
frank26080115 | 0:bf7b9fba3924 | 77 | } |
frank26080115 | 0:bf7b9fba3924 | 78 | |
frank26080115 | 0:bf7b9fba3924 | 79 | return pc; |
frank26080115 | 0:bf7b9fba3924 | 80 | } |
frank26080115 | 0:bf7b9fba3924 | 81 | |
frank26080115 | 0:bf7b9fba3924 | 82 | /* the following should be enough for 32 bit int */ |
frank26080115 | 0:bf7b9fba3924 | 83 | #define PRINT_BUF_LEN 12 |
frank26080115 | 0:bf7b9fba3924 | 84 | |
frank26080115 | 0:bf7b9fba3924 | 85 | static int printi(char **out, int i, int b, int sg, int width, int pad, int letbase) |
frank26080115 | 0:bf7b9fba3924 | 86 | { |
frank26080115 | 0:bf7b9fba3924 | 87 | char print_buf[PRINT_BUF_LEN]; |
frank26080115 | 0:bf7b9fba3924 | 88 | register char *s; |
frank26080115 | 0:bf7b9fba3924 | 89 | register int t, neg = 0, pc = 0; |
frank26080115 | 0:bf7b9fba3924 | 90 | register unsigned int u = (unsigned int)i; |
frank26080115 | 0:bf7b9fba3924 | 91 | |
frank26080115 | 0:bf7b9fba3924 | 92 | if (i == 0) { |
frank26080115 | 0:bf7b9fba3924 | 93 | print_buf[0] = '0'; |
frank26080115 | 0:bf7b9fba3924 | 94 | print_buf[1] = '\0'; |
frank26080115 | 0:bf7b9fba3924 | 95 | return prints (out, print_buf, width, pad); |
frank26080115 | 0:bf7b9fba3924 | 96 | } |
frank26080115 | 0:bf7b9fba3924 | 97 | |
frank26080115 | 0:bf7b9fba3924 | 98 | if (sg && b == 10 && i < 0) { |
frank26080115 | 0:bf7b9fba3924 | 99 | neg = 1; |
frank26080115 | 0:bf7b9fba3924 | 100 | u = (unsigned int)-i; |
frank26080115 | 0:bf7b9fba3924 | 101 | } |
frank26080115 | 0:bf7b9fba3924 | 102 | |
frank26080115 | 0:bf7b9fba3924 | 103 | s = print_buf + PRINT_BUF_LEN-1; |
frank26080115 | 0:bf7b9fba3924 | 104 | *s = '\0'; |
frank26080115 | 0:bf7b9fba3924 | 105 | |
frank26080115 | 0:bf7b9fba3924 | 106 | while (u) { |
frank26080115 | 0:bf7b9fba3924 | 107 | t = (int)u % b; |
frank26080115 | 0:bf7b9fba3924 | 108 | if( t >= 10 ) |
frank26080115 | 0:bf7b9fba3924 | 109 | t += letbase - '0' - 10; |
frank26080115 | 0:bf7b9fba3924 | 110 | *--s = (char)(t + '0'); |
frank26080115 | 0:bf7b9fba3924 | 111 | u /= b; |
frank26080115 | 0:bf7b9fba3924 | 112 | } |
frank26080115 | 0:bf7b9fba3924 | 113 | |
frank26080115 | 0:bf7b9fba3924 | 114 | if (neg) { |
frank26080115 | 0:bf7b9fba3924 | 115 | if( width && (pad & PAD_ZERO) ) { |
frank26080115 | 0:bf7b9fba3924 | 116 | printchar (out, '-'); |
frank26080115 | 0:bf7b9fba3924 | 117 | ++pc; |
frank26080115 | 0:bf7b9fba3924 | 118 | --width; |
frank26080115 | 0:bf7b9fba3924 | 119 | } |
frank26080115 | 0:bf7b9fba3924 | 120 | else { |
frank26080115 | 0:bf7b9fba3924 | 121 | *--s = '-'; |
frank26080115 | 0:bf7b9fba3924 | 122 | } |
frank26080115 | 0:bf7b9fba3924 | 123 | } |
frank26080115 | 0:bf7b9fba3924 | 124 | |
frank26080115 | 0:bf7b9fba3924 | 125 | return pc + prints (out, s, width, pad); |
frank26080115 | 0:bf7b9fba3924 | 126 | } |
frank26080115 | 0:bf7b9fba3924 | 127 | |
frank26080115 | 0:bf7b9fba3924 | 128 | static int print( char **out, const char *format, va_list args ) |
frank26080115 | 0:bf7b9fba3924 | 129 | { |
frank26080115 | 0:bf7b9fba3924 | 130 | register int width, pad; |
frank26080115 | 0:bf7b9fba3924 | 131 | register int pc = 0; |
frank26080115 | 0:bf7b9fba3924 | 132 | char scr[2]; |
frank26080115 | 0:bf7b9fba3924 | 133 | |
frank26080115 | 0:bf7b9fba3924 | 134 | for (; *format != 0; ++format) { |
frank26080115 | 0:bf7b9fba3924 | 135 | if (*format == '%') { |
frank26080115 | 0:bf7b9fba3924 | 136 | ++format; |
frank26080115 | 0:bf7b9fba3924 | 137 | width = pad = 0; |
frank26080115 | 0:bf7b9fba3924 | 138 | if (*format == '\0') break; |
frank26080115 | 0:bf7b9fba3924 | 139 | if (*format == '%') goto out; |
frank26080115 | 0:bf7b9fba3924 | 140 | if (*format == '-') { |
frank26080115 | 0:bf7b9fba3924 | 141 | ++format; |
frank26080115 | 0:bf7b9fba3924 | 142 | pad = PAD_RIGHT; |
frank26080115 | 0:bf7b9fba3924 | 143 | } |
frank26080115 | 0:bf7b9fba3924 | 144 | while (*format == '0') { |
frank26080115 | 0:bf7b9fba3924 | 145 | ++format; |
frank26080115 | 0:bf7b9fba3924 | 146 | pad |= PAD_ZERO; |
frank26080115 | 0:bf7b9fba3924 | 147 | } |
frank26080115 | 0:bf7b9fba3924 | 148 | for ( ; *format >= '0' && *format <= '9'; ++format) { |
frank26080115 | 0:bf7b9fba3924 | 149 | width *= 10; |
frank26080115 | 0:bf7b9fba3924 | 150 | width += *format - '0'; |
frank26080115 | 0:bf7b9fba3924 | 151 | } |
frank26080115 | 0:bf7b9fba3924 | 152 | if( *format == 's' ) { |
frank26080115 | 0:bf7b9fba3924 | 153 | register char *s = (char *)va_arg( args, int ); |
frank26080115 | 0:bf7b9fba3924 | 154 | pc += prints (out, s?s:"(null)", width, pad); |
frank26080115 | 0:bf7b9fba3924 | 155 | continue; |
frank26080115 | 0:bf7b9fba3924 | 156 | } |
frank26080115 | 0:bf7b9fba3924 | 157 | if( *format == 'd' ) { |
frank26080115 | 0:bf7b9fba3924 | 158 | pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a'); |
frank26080115 | 0:bf7b9fba3924 | 159 | continue; |
frank26080115 | 0:bf7b9fba3924 | 160 | } |
frank26080115 | 0:bf7b9fba3924 | 161 | if( *format == 'x' ) { |
frank26080115 | 0:bf7b9fba3924 | 162 | pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a'); |
frank26080115 | 0:bf7b9fba3924 | 163 | continue; |
frank26080115 | 0:bf7b9fba3924 | 164 | } |
frank26080115 | 0:bf7b9fba3924 | 165 | if( *format == 'X' ) { |
frank26080115 | 0:bf7b9fba3924 | 166 | pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A'); |
frank26080115 | 0:bf7b9fba3924 | 167 | continue; |
frank26080115 | 0:bf7b9fba3924 | 168 | } |
frank26080115 | 0:bf7b9fba3924 | 169 | if( *format == 'u' ) { |
frank26080115 | 0:bf7b9fba3924 | 170 | pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a'); |
frank26080115 | 0:bf7b9fba3924 | 171 | continue; |
frank26080115 | 0:bf7b9fba3924 | 172 | } |
frank26080115 | 0:bf7b9fba3924 | 173 | if( *format == 'c' ) { |
frank26080115 | 0:bf7b9fba3924 | 174 | /* char are converted to int then pushed on the stack */ |
frank26080115 | 0:bf7b9fba3924 | 175 | scr[0] = (char)va_arg( args, int ); |
frank26080115 | 0:bf7b9fba3924 | 176 | scr[1] = '\0'; |
frank26080115 | 0:bf7b9fba3924 | 177 | pc += prints (out, scr, width, pad); |
frank26080115 | 0:bf7b9fba3924 | 178 | continue; |
frank26080115 | 0:bf7b9fba3924 | 179 | } |
frank26080115 | 0:bf7b9fba3924 | 180 | } |
frank26080115 | 0:bf7b9fba3924 | 181 | else { |
frank26080115 | 0:bf7b9fba3924 | 182 | out: |
frank26080115 | 0:bf7b9fba3924 | 183 | printchar (out, *format); |
frank26080115 | 0:bf7b9fba3924 | 184 | ++pc; |
frank26080115 | 0:bf7b9fba3924 | 185 | } |
frank26080115 | 0:bf7b9fba3924 | 186 | } |
frank26080115 | 0:bf7b9fba3924 | 187 | if (out) **out = '\0'; |
frank26080115 | 0:bf7b9fba3924 | 188 | va_end( args ); |
frank26080115 | 0:bf7b9fba3924 | 189 | return pc; |
frank26080115 | 0:bf7b9fba3924 | 190 | } |
frank26080115 | 0:bf7b9fba3924 | 191 | |
frank26080115 | 0:bf7b9fba3924 | 192 | int printf(const char *format, ...) |
frank26080115 | 0:bf7b9fba3924 | 193 | { |
frank26080115 | 0:bf7b9fba3924 | 194 | va_list args; |
frank26080115 | 0:bf7b9fba3924 | 195 | |
frank26080115 | 0:bf7b9fba3924 | 196 | va_start( args, format ); |
frank26080115 | 0:bf7b9fba3924 | 197 | return print( 0, format, args ); |
frank26080115 | 0:bf7b9fba3924 | 198 | } |
frank26080115 | 0:bf7b9fba3924 | 199 | |
frank26080115 | 0:bf7b9fba3924 | 200 | int sprintf(char *out, const char *format, ...) |
frank26080115 | 0:bf7b9fba3924 | 201 | { |
frank26080115 | 0:bf7b9fba3924 | 202 | va_list args; |
frank26080115 | 0:bf7b9fba3924 | 203 | |
frank26080115 | 0:bf7b9fba3924 | 204 | va_start( args, format ); |
frank26080115 | 0:bf7b9fba3924 | 205 | return print( &out, format, args ); |
frank26080115 | 0:bf7b9fba3924 | 206 | } |
frank26080115 | 0:bf7b9fba3924 | 207 | |
frank26080115 | 0:bf7b9fba3924 | 208 | |
frank26080115 | 0:bf7b9fba3924 | 209 | int snprintf( char *buf, unsigned int count, const char *format, ... ) |
frank26080115 | 0:bf7b9fba3924 | 210 | { |
frank26080115 | 0:bf7b9fba3924 | 211 | va_list args; |
frank26080115 | 0:bf7b9fba3924 | 212 | |
frank26080115 | 0:bf7b9fba3924 | 213 | ( void ) count; |
frank26080115 | 0:bf7b9fba3924 | 214 | |
frank26080115 | 0:bf7b9fba3924 | 215 | va_start( args, format ); |
frank26080115 | 0:bf7b9fba3924 | 216 | return print( &buf, format, args ); |
frank26080115 | 0:bf7b9fba3924 | 217 | } |
frank26080115 | 0:bf7b9fba3924 | 218 | |
frank26080115 | 0:bf7b9fba3924 | 219 | |
frank26080115 | 0:bf7b9fba3924 | 220 | #ifdef TEST_PRINTF |
frank26080115 | 0:bf7b9fba3924 | 221 | int main(void) |
frank26080115 | 0:bf7b9fba3924 | 222 | { |
frank26080115 | 0:bf7b9fba3924 | 223 | char *ptr = "Hello world!"; |
frank26080115 | 0:bf7b9fba3924 | 224 | char *np = 0; |
frank26080115 | 0:bf7b9fba3924 | 225 | int i = 5; |
frank26080115 | 0:bf7b9fba3924 | 226 | unsigned int bs = sizeof(int)*8; |
frank26080115 | 0:bf7b9fba3924 | 227 | int mi; |
frank26080115 | 0:bf7b9fba3924 | 228 | char buf[80]; |
frank26080115 | 0:bf7b9fba3924 | 229 | |
frank26080115 | 0:bf7b9fba3924 | 230 | mi = (1 << (bs-1)) + 1; |
frank26080115 | 0:bf7b9fba3924 | 231 | printf("%s\n", ptr); |
frank26080115 | 0:bf7b9fba3924 | 232 | printf("printf test\n"); |
frank26080115 | 0:bf7b9fba3924 | 233 | printf("%s is null pointer\n", np); |
frank26080115 | 0:bf7b9fba3924 | 234 | printf("%d = 5\n", i); |
frank26080115 | 0:bf7b9fba3924 | 235 | printf("%d = - max int\n", mi); |
frank26080115 | 0:bf7b9fba3924 | 236 | printf("char %c = 'a'\n", 'a'); |
frank26080115 | 0:bf7b9fba3924 | 237 | printf("hex %x = ff\n", 0xff); |
frank26080115 | 0:bf7b9fba3924 | 238 | printf("hex %02x = 00\n", 0); |
frank26080115 | 0:bf7b9fba3924 | 239 | printf("signed %d = unsigned %u = hex %x\n", -3, -3, -3); |
frank26080115 | 0:bf7b9fba3924 | 240 | printf("%d %s(s)%", 0, "message"); |
frank26080115 | 0:bf7b9fba3924 | 241 | printf("\n"); |
frank26080115 | 0:bf7b9fba3924 | 242 | printf("%d %s(s) with %%\n", 0, "message"); |
frank26080115 | 0:bf7b9fba3924 | 243 | sprintf(buf, "justif: \"%-10s\"\n", "left"); printf("%s", buf); |
frank26080115 | 0:bf7b9fba3924 | 244 | sprintf(buf, "justif: \"%10s\"\n", "right"); printf("%s", buf); |
frank26080115 | 0:bf7b9fba3924 | 245 | sprintf(buf, " 3: %04d zero padded\n", 3); printf("%s", buf); |
frank26080115 | 0:bf7b9fba3924 | 246 | sprintf(buf, " 3: %-4d left justif.\n", 3); printf("%s", buf); |
frank26080115 | 0:bf7b9fba3924 | 247 | sprintf(buf, " 3: %4d right justif.\n", 3); printf("%s", buf); |
frank26080115 | 0:bf7b9fba3924 | 248 | sprintf(buf, "-3: %04d zero padded\n", -3); printf("%s", buf); |
frank26080115 | 0:bf7b9fba3924 | 249 | sprintf(buf, "-3: %-4d left justif.\n", -3); printf("%s", buf); |
frank26080115 | 0:bf7b9fba3924 | 250 | sprintf(buf, "-3: %4d right justif.\n", -3); printf("%s", buf); |
frank26080115 | 0:bf7b9fba3924 | 251 | |
frank26080115 | 0:bf7b9fba3924 | 252 | return 0; |
frank26080115 | 0:bf7b9fba3924 | 253 | } |
frank26080115 | 0:bf7b9fba3924 | 254 | |
frank26080115 | 0:bf7b9fba3924 | 255 | /* |
frank26080115 | 0:bf7b9fba3924 | 256 | * if you compile this file with |
frank26080115 | 0:bf7b9fba3924 | 257 | * gcc -Wall $(YOUR_C_OPTIONS) -DTEST_PRINTF -c printf.c |
frank26080115 | 0:bf7b9fba3924 | 258 | * you will get a normal warning: |
frank26080115 | 0:bf7b9fba3924 | 259 | * printf.c:214: warning: spurious trailing `%' in format |
frank26080115 | 0:bf7b9fba3924 | 260 | * this line is testing an invalid % at the end of the format string. |
frank26080115 | 0:bf7b9fba3924 | 261 | * |
frank26080115 | 0:bf7b9fba3924 | 262 | * this should display (on 32bit int machine) : |
frank26080115 | 0:bf7b9fba3924 | 263 | * |
frank26080115 | 0:bf7b9fba3924 | 264 | * Hello world! |
frank26080115 | 0:bf7b9fba3924 | 265 | * printf test |
frank26080115 | 0:bf7b9fba3924 | 266 | * (null) is null pointer |
frank26080115 | 0:bf7b9fba3924 | 267 | * 5 = 5 |
frank26080115 | 0:bf7b9fba3924 | 268 | * -2147483647 = - max int |
frank26080115 | 0:bf7b9fba3924 | 269 | * char a = 'a' |
frank26080115 | 0:bf7b9fba3924 | 270 | * hex ff = ff |
frank26080115 | 0:bf7b9fba3924 | 271 | * hex 00 = 00 |
frank26080115 | 0:bf7b9fba3924 | 272 | * signed -3 = unsigned 4294967293 = hex fffffffd |
frank26080115 | 0:bf7b9fba3924 | 273 | * 0 message(s) |
frank26080115 | 0:bf7b9fba3924 | 274 | * 0 message(s) with % |
frank26080115 | 0:bf7b9fba3924 | 275 | * justif: "left " |
frank26080115 | 0:bf7b9fba3924 | 276 | * justif: " right" |
frank26080115 | 0:bf7b9fba3924 | 277 | * 3: 0003 zero padded |
frank26080115 | 0:bf7b9fba3924 | 278 | * 3: 3 left justif. |
frank26080115 | 0:bf7b9fba3924 | 279 | * 3: 3 right justif. |
frank26080115 | 0:bf7b9fba3924 | 280 | * -3: -003 zero padded |
frank26080115 | 0:bf7b9fba3924 | 281 | * -3: -3 left justif. |
frank26080115 | 0:bf7b9fba3924 | 282 | * -3: -3 right justif. |
frank26080115 | 0:bf7b9fba3924 | 283 | */ |
frank26080115 | 0:bf7b9fba3924 | 284 | |
frank26080115 | 0:bf7b9fba3924 | 285 | #endif |
frank26080115 | 0:bf7b9fba3924 | 286 | |
frank26080115 | 0:bf7b9fba3924 | 287 | |
frank26080115 | 0:bf7b9fba3924 | 288 | /* To keep linker happy. */ |
frank26080115 | 0:bf7b9fba3924 | 289 | int write( int i, char* c, int n) |
frank26080115 | 0:bf7b9fba3924 | 290 | { |
frank26080115 | 0:bf7b9fba3924 | 291 | (void)i; |
frank26080115 | 0:bf7b9fba3924 | 292 | (void)n; |
frank26080115 | 0:bf7b9fba3924 | 293 | (void)c; |
frank26080115 | 0:bf7b9fba3924 | 294 | return 0; |
frank26080115 | 0:bf7b9fba3924 | 295 | } |
frank26080115 | 0:bf7b9fba3924 | 296 |