aboutsummaryrefslogtreecommitdiffstats
path: root/lcd4linux.c (follow)
AgeCommit message (Expand)AuthorFilesLines
2006-01-23[lcd4linux @ 2006-01-23 06:17:18 by reinelt]reinelt1-1/+9
2005-09-02[lcd4linux @ 2005-09-02 05:27:08 by reinelt]reinelt1-37/+71
2005-05-08[lcd4linux @ 2005-05-08 04:32:43 by reinelt]reinelt1-253/+258
2005-03-30[lcd4linux @ 2005-03-30 04:57:50 by reinelt]reinelt1-3/+10
2005-01-18[lcd4linux @ 2005-01-18 06:30:21 by reinelt]reinelt1-4/+7
2004-09-24[lcd4linux @ 2004-09-24 21:40:52 by reinelt]reinelt1-4/+6
2004-06-26[lcd4linux @ 2004-06-26 12:04:59 by reinelt]reinelt1-3/+6
2004-06-26[lcd4linux @ 2004-06-26 09:27:20 by reinelt]reinelt1-16/+22
2004-06-06[lcd4linux @ 2004-06-06 06:51:59 by reinelt]reinelt1-3/+9
2004-06-02[lcd4linux @ 2004-06-02 09:41:19 by reinelt]reinelt1-68/+19
2004-06-02[lcd4linux @ 2004-06-02 05:14:16 by reinelt]reinelt1-15/+24
2004-03-14[lcd4linux @ 2004-03-14 07:11:42 by reinelt]reinelt1-25/+44
2004-03-11[lcd4linux @ 2004-03-11 06:39:58 by reinelt]reinelt1-3/+12
2004-03-06[lcd4linux @ 2004-03-06 20:31:16 by reinelt]reinelt1-7/+16
2004-03-03[lcd4linux @ 2004-03-03 04:44:16 by reinelt]reinelt1-2/+6
2004-03-03[lcd4linux @ 2004-03-03 03:47:04 by reinelt]reinelt1-4/+19
2004-02-27[lcd4linux @ 2004-02-27 07:06:24 by reinelt]reinelt1-1/+7
2004-02-10[lcd4linux @ 2004-02-10 07:42:35 by reinelt]reinelt1-72/+29
2004-01-30[lcd4linux @ 2004-01-30 20:57:55 by reinelt]reinelt1-2/+13
2004-01-14-12/+11
2003-09-09[lcd4linux @ 2003-09-09 06:54:43 by reinelt]reinelt1-7/+6
2003-09-09[lcd4linux @ 2003-09-09 05:30:33 by reinelt]reinelt1-13/+19
2003-08-24[lcd4linux @ 2003-08-24 05:17:58 by reinelt]reinelt1-18/+17
2003-08-17[lcd4linux @ 2003-08-17 16:37:39 by reinelt]reinelt1-2/+5
2003-08-14[lcd4linux @ 2003-08-14 03:47:40 by reinelt]reinelt1-1/+5
2003-08-08[lcd4linux @ 2003-08-08 08:05:23 by reinelt]reinelt1-1/+17
2003-08-08[lcd4linux @ 2003-08-08 06:58:06 by reinelt]reinelt1-25/+37
2003-07-24[lcd4linux @ 2003-07-24 04:48:09 by reinelt]reinelt1-4/+7
2003-06-13[lcd4linux @ 2003-06-13 05:11:10 by reinelt]reinelt1-2/+5
2003-04-07[lcd4linux @ 2003-04-07 06:02:58 by reinelt]reinelt1-2/+5
2003-02-22[lcd4linux @ 2003-02-22 07:53:09 by reinelt]reinelt1-4/+7
2003-02-13[lcd4linux @ 2003-02-13 10:40:17 by reinelt]reinelt1-4/+9
2002-04-29[lcd4linux @ 2002-04-29 11:00:25 by reinelt]reinelt1-4/+9
2001-04-27[lcd4linux @ 2001-04-27 05:04:57 by reinelt]reinelt1-6/+12
2001-03-13[lcd4linux @ 2001-03-13 07:41:22 by reinelt]reinelt1-1/+7
2001-03-12[lcd4linux @ 2001-03-12 12:39:36 by reinelt]reinelt1-1/+18
ass="o">> buffer); if (sign && p > buffer) *--p = '-'; return p; } static char *utoa(char *buffer, const size_t size, unsigned int value) { char *p; /* sanity checks */ if (buffer == NULL || size < 2) return (NULL); /* p points to last char */ p = buffer + size - 1; /* set terminating zero */ *p = '\0'; do { *--p = value % 10 + '0'; value = value / 10; } while (value != 0 && p > buffer); return p; } static char *utox(char *buffer, const size_t size, unsigned int value) { char *p; int digit; /* sanity checks */ if (buffer == NULL || size < 2) return (NULL); /* p points to last char */ p = buffer + size - 1; /* set terminating zero */ *p = '\0'; do { digit = value % 16; value = value / 16; *--p = (digit < 10 ? '0' : 'a' - 10) + digit; } while (value != 0 && p > buffer); return p; } int qprintf(char *str, const size_t size, const char *format, ...) { va_list ap; const char *src; char *dst; unsigned int len; src = format; dst = str; len = 0; va_start(ap, format); /* use size-1 for terminating zero */ while (len < size - 1) { if (*src == '%') { char buf[12], *s; int d; unsigned int u; switch (*++src) { case 's': src++; s = va_arg(ap, char *); while (len < size - 1 && *s != '\0') { len++; *dst++ = *s++; } break; case 'd': src++; d = va_arg(ap, int); s = itoa(buf, sizeof(buf), d); while (len < size && *s != '\0') { len++; *dst++ = *s++; } break; case 'u': src++; u = va_arg(ap, unsigned int); s = utoa(buf, sizeof(buf), u); while (len < size - 1 && *s != '\0') { len++; *dst++ = *s++; } break; case 'x': src++; u = va_arg(ap, unsigned int); s = utox(buf, sizeof(buf), u); while (len < size - 1 && *s != '\0') { len++; *dst++ = *s++; } break; default: len++; *dst++ = '%'; } } else { len++; *dst++ = *src; if (*src++ == '\0') break; } } va_end(ap); /* enforce terminating zero */ if (len >= size - 1 && *(dst - 1) != '\0') { len++; *dst = '\0'; } /* do not count terminating zero */ return len - 1; }