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];