diff --git a/include/ubixos/bcd.h b/include/ubixos/bcd.h new file mode 100644 index 0000000..47568a0 --- /dev/null +++ b/include/ubixos/bcd.h @@ -0,0 +1,40 @@ +/*- + * Copyright (c) 2002-2018 The UbixOS Project. + * All rights reserved. + * + * This was developed by Christopher W. Olsen for the UbixOS Project. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * 1) Redistributions of source code must retain the above copyright notice, this list of + * conditions, the following disclaimer and the list of authors. + * 2) Redistributions in binary form must reproduce the above copyright notice, this list of + * conditions, the following disclaimer and the list of authors in the documentation and/or + * other materials provided with the distribution. + * 3) Neither the name of the UbixOS Project nor the names of its contributors may be used to + * endorse or promote products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _UBIXOS_BCD_H_ +#define _UBIXOS_BCD_H_ + +extern const u_char bcd2bin_data[]; +extern const u_char bin2bcd_data[]; +extern const char hex2ascii_data[]; + +#define bcd2bin(bcd) (bcd2bin_data[bcd]) +#define bin2bcd(bin) (bin2bcd_data[bin]) +#define hex2ascii(hex) (hex2ascii_data[hex]) + +#endif /* !_UBIXOS_BCD_H_ diff --git a/sys/include/string.h b/sys/include/string.h index c0df22b..3a285d0 100644 --- a/sys/include/string.h +++ b/sys/include/string.h @@ -48,14 +48,6 @@ char *strtok_r(char *str, const char *sep, char **last); char *strstr(const char *s, char *find); -extern const u_char bcd2bin_data[]; -extern const u_char bin2bcd_data[]; -extern const char hex2ascii_data[]; - -#define bcd2bin(bcd) (bcd2bin_data[bcd]) -#define bin2bcd(bin) (bin2bcd_data[bin]) -#define hex2ascii(hex) (hex2ascii_data[hex]) - #define toupper(c) ((c) - 0x20 * (((c) >= 'a') && ((c) <= 'z'))) #define tolower(c) ((c) + 0x20 * (((c) >= 'A') && ((c) <= 'Z'))) diff --git a/sys/lib/kprintf.c b/sys/lib/kprintf.c index 0a79d24..374cee8 100644 --- a/sys/lib/kprintf.c +++ b/sys/lib/kprintf.c @@ -30,6 +30,7 @@ #include #include #include +#include static char *ksprintn(char *nbuf, uintmax_t num, int base, int *lenp, int upper); @@ -66,7 +67,7 @@ */ if (vq == 0) { /* divide by zero. */ - static const volatile unsigned int zero = 0; + static const volatile unsigned int zero = 0; tmp.ul[H] = tmp.ul[L] = 1 / zero; if (arq)