make compile
diff --git a/src/cmd/mpm/mkfile b/src/cmd/mpm/mkfile index 5c9df7d..9a8a7f6 100644 --- a/src/cmd/mpm/mkfile +++ b/src/cmd/mpm/mkfile
@@ -12,7 +12,8 @@ LD=g++ <$PLAN9/src/mkone -CFLAGS= +CC=g++ +CFLAGS=-c slug.$O: slug.h range.$O: range.h slug.h
diff --git a/src/cmd/mpm/range.h b/src/cmd/mpm/range.h index 401035a..54994cd 100644 --- a/src/cmd/mpm/range.h +++ b/src/cmd/mpm/range.h
@@ -18,6 +18,7 @@ public: range() { first = 0; accumV = 0; } range(slug *p) { first = p; accumV = 0; } + virtual ~range() { } char *headstr() { return first ? first->headstr() : (char*)""; } char *typename() { return first->typename(); } @@ -307,6 +308,7 @@ extern stream ptlist, btlist; // page titles +#undef INFINITY #define INFINITY 1000001 // A queue is a distinguished kind of stream.
diff --git a/src/cmd/mpm/slug.cc b/src/cmd/mpm/slug.cc index b4ae0ff..92d48db 100644 --- a/src/cmd/mpm/slug.cc +++ b/src/cmd/mpm/slug.cc
@@ -1,7 +1,6 @@ #include "misc.h" #include "slug.h" #include <math.h> -#include <utf.h> static char *bufptr(int); @@ -149,6 +148,19 @@ addc(*p); } +static int fullrune(char *c, int n) +{ + if(n <= 0) + return 0; + if(n>=1 && (unsigned char)c[0] < 0x80) + return 1; + if(n>=2 && (unsigned char)c[0] < 0xE0) + return 1; + if(n>=3) + return 1; + return 0; +} + static char *getutf(FILE *fp) // get 1 utf-encoded char (might be multiple bytes) { static char buf[100];