Fixed a bunch of issues.

This commit is contained in:
Kris Maglione 2007-07-01 15:26:14 -04:00
parent 209fb08f82
commit ea557c9338
6 changed files with 21 additions and 24 deletions

View File

@ -15,7 +15,7 @@ Vfmt(Fmt *f) {
va_list ap;
fmt = va_arg(f->args, char*);
ap = va_arg(f->args, va_list);
va_copy(ap, va_arg(f->args, va_list));
return fmtvprint(f, fmt, ap);
}

View File

@ -270,7 +270,7 @@ parse_colors(IxpMsg *m, CTuple *col) {
if(*p++ != '#')
return Ebad;
for(j = 0; j < 6 && p < (char*)m->end; j++)
if(!ishexnumber(*p++))
if(!isxdigit(*p++))
return Ebad;
chartorune(&r, p);
if(i < 2 && r != ' ' || !(isspacerune(r) || *p == '\0'))

View File

@ -1,9 +0,0 @@
typedef ushort Rune; /* 16 bits */
enum
{
UTFmax = 3, /* maximum bytes per rune */
Runesync = 0x80, /* cannot represent part of a UTF sequence (<) */
Runeself = 0x80, /* rune and UTF sequences are the same (<) */
Runeerror = 0xFFFD, /* decoding error in UTF */
};

View File

@ -18,8 +18,8 @@ printinstall:
echo ' Lib: ${LIBDIR}'
${LIB}: ${OFILES}
@echo AR $$($(ROOT)/util/cleanname $(BASE)/$@)
@${AR} $@ ${OFILES}
@${RANLIB} $@
echo AR $$($(ROOT)/util/cleanname $(BASE)/$@)
mkdir ${ROOT}/lib 2>/dev/null || true
${AR} $@ ${OFILES}
include ${ROOT}/mk/common.mk

View File

@ -1,13 +1,18 @@
#!/bin/sh -f
echo "$@" |
awk '{
gsub(/\/+/, "/")
while(gsub("[^/]+/\.\.(/|$)", ""))
;
while(gsub("/\.(/|$)", "/"))
;
gsub(/\/+/, "/")
print
awk -F'/+' '{
delete a
n = 0
for(i = 1; i <= NF; i++) {
if($i == ".." && n > 0 && a[n] != "..")
n--
else if($i != "" && $i != ".")
a[++n] = $i
}
s = ""
for(i = 1; i <= n; i++)
s = s "/" a[i]
print substr(s, 2)
}'

View File

@ -11,9 +11,10 @@ echo CC $($bin/cleanname ${BASE}$outfile)
$CC -o $outfile $CFLAGS $@ 2>$xtmp
status=$?
base=$(echo $BASE | sed 's/,/\\,/g')
base=$(echo $BASE | sed 's/,/\\,/g; s,/$,,')
re='\([^[:space:]/]*\..:[0-9]\)'
cat $xtmp | sed "s,^[^/][^:]*\.c:,$base&,g" |
cat $xtmp | sed "s,^$re,$base/&,g; s,\([[:space:]]\)$re,\1$base/\2,g" |
egrep -v ': error: .Each undeclared identifier|: error: for each function it appears|is dangerous, better use|is almost always misused|: In function |: At top level:|support .long long.|use of C99 long long|ISO C forbids conversion' |
sed 's/ .first use in this function.$//; s/\"\([^\"][^\"]*\)\", line \([0-9][0-9]*\)/\1:\2/g' |
uniq 1>&2