#include <linux/string.h>
#include <linux/ctype.h>
-#define BITS_PER_LONG 32
-#include <asm/div64.h>
-
int (*prom)(void *);
void *chosen_handle;
void printk(char *fmt, ...);
+/* there is no convenient header to get this from... -- paulus */
+extern unsigned long strlen(const char *);
+
int
write(void *handle, void *ptr, int nb)
{
#define SPECIAL 32 /* 0x */
#define LARGE 64 /* use 'ABCDEF' instead of 'abcdef' */
-static char * number(char * str, long long num, int base, int size, int precision, int type)
+static char * number(char * str, long num, int base, int size, int precision, int type)
{
char c,sign,tmp[66];
const char *digits="0123456789abcdefghijklmnopqrstuvwxyz";
i = 0;
if (num == 0)
tmp[i++]='0';
- else while (num != 0)
- tmp[i++] = digits[do_div(num,base)];
+ else while (num != 0) {
+ tmp[i++] = digits[num % base];
+ num /= base;
+ }
if (i > precision)
precision = i;
size -= precision;
int vsprintf(char *buf, const char *fmt, va_list args)
{
int len;
- unsigned long long num;
+ unsigned long num;
int i, base;
char * str;
const char *s;
--fmt;
continue;
}
- if (qualifier == 'L')
- num = va_arg(args, long long);
- else if (qualifier == 'l') {
+ if (qualifier == 'l') {
num = va_arg(args, unsigned long);
if (flags & SIGN)
num = (signed long) num;
/* functions */
-#include <linux/string.h>
+extern void *memcpy(void *, const void *, unsigned long);
#define zmemcpy memcpy
-#define zmemzero(dest, len) memset(dest, 0, len)
/* Diagnostic functions */
#ifdef DEBUG_ZLIB