/* Copyright (c) 2004 Russ Cox. See COPYRIGHT. */ #include "taskimpl.h" #include /* for strerror! */ /* * Stripped down print library. Plan 9 interface, new code. */ enum { FlagLong = 1<<0, FlagLongLong = 1<<1, FlagUnsigned = 1<<2, }; static char* printstr(char *dst, char *edst, char *s, int size) { int l, n, sign; sign = 1; if(size < 0){ size = -size; sign = -1; } if(dst >= edst) return dst; l = strlen(s); n = l; if(n < size) n = size; if(n >= edst-dst) n = (edst-dst)-1; if(l > n) l = n; if(sign < 0){ memmove(dst, s, l); if(n-l) memset(dst+l, ' ', n-l); }else{ if(n-l) memset(dst, ' ', n-l); memmove(dst+n-l, s, l); } return dst+n; } char* vseprint(char *dst, char *edst, char *fmt, va_list arg) { int fl, size, sign, base; char *p, *w; char cbuf[2]; w = dst; for(p=fmt; *p && w