BSD 4_3 development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Fri, 20 Sep 1985 18:05:08 +0000 (10:05 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Fri, 20 Sep 1985 18:05:08 +0000 (10:05 -0800)
Work on file usr/contrib/mh/sbr/uprf.c
Work on file usr/contrib/mh/sbr/strindex.c
Work on file usr/contrib/mh/sbr/uleq.c
Work on file usr/contrib/mh/sbr/m_scratch.c
Work on file usr/contrib/mh/sbr/m_backup.c

Synthesized-from: CSRG/cd1/4.3

usr/contrib/mh/sbr/m_backup.c [new file with mode: 0644]
usr/contrib/mh/sbr/m_scratch.c [new file with mode: 0644]
usr/contrib/mh/sbr/strindex.c [new file with mode: 0644]
usr/contrib/mh/sbr/uleq.c [new file with mode: 0644]
usr/contrib/mh/sbr/uprf.c [new file with mode: 0644]

diff --git a/usr/contrib/mh/sbr/m_backup.c b/usr/contrib/mh/sbr/m_backup.c
new file mode 100644 (file)
index 0000000..7a29f60
--- /dev/null
@@ -0,0 +1,20 @@
+/* m_backup.c - construct a backup file */
+
+#include "../h/mh.h"
+#include <stdio.h>
+
+
+char   *m_backup (file)
+register char   *file;
+{
+    register char  *cp;
+    static char buffer[BUFSIZ];
+
+    if ((cp = r1bindex (file, '/')) == file)
+       (void) sprintf (buffer, "%s%s", SBACKUP, cp);
+    else
+       (void) sprintf (buffer, "%.*s%s%s", cp - file, file, SBACKUP, cp);
+    (void) (unlink (buffer));
+
+    return buffer;
+}
diff --git a/usr/contrib/mh/sbr/m_scratch.c b/usr/contrib/mh/sbr/m_scratch.c
new file mode 100644 (file)
index 0000000..4983e14
--- /dev/null
@@ -0,0 +1,24 @@
+/* m_scratch.c - construct a scratch file */
+
+#include "../h/mh.h"
+#include <stdio.h>
+
+
+char   *m_scratch (file, template)
+register char  *file,
+               *template;
+{
+    register char  *cp;
+    static char buffer[BUFSIZ],
+               tmpfil[BUFSIZ];
+
+    (void) sprintf (tmpfil, "%sXXXXXX", template);
+    (void) mktemp (tmpfil);
+    if ((cp = r1bindex (file, '/')) == file)
+       (void) strcpy (buffer, tmpfil);
+    else
+       (void) sprintf (buffer, "%.*s%s", cp - file, file, tmpfil);
+    (void) unlink (buffer);
+
+    return buffer;
+}
diff --git a/usr/contrib/mh/sbr/strindex.c b/usr/contrib/mh/sbr/strindex.c
new file mode 100644 (file)
index 0000000..741656d
--- /dev/null
@@ -0,0 +1,15 @@
+/* strindex.c - "unsigned" lexical index */
+
+
+int  stringdex (p1, p2)
+register char  *p1,
+               *p2;
+{
+    register char  *p;
+
+    for (p = p2; *p; p++)
+       if (uprf (p, p1))
+           return (p - p2);
+
+    return (-1);
+}
diff --git a/usr/contrib/mh/sbr/uleq.c b/usr/contrib/mh/sbr/uleq.c
new file mode 100644 (file)
index 0000000..8a9f83d
--- /dev/null
@@ -0,0 +1,21 @@
+/* uleq.c - "unsigned" lexical compare */
+
+
+uleq (c1, c2)
+register char  *c1,
+               *c2;
+{
+    register int    c;
+
+    if (!c1)
+       c1 = "";
+    if (!c2)
+       c2 = "";
+
+    while (c = *c1++)
+       if ((c | 040) != (*c2 | 040))
+           return 0;
+       else
+           c2++;
+    return (*c2 == 0);
+}
diff --git a/usr/contrib/mh/sbr/uprf.c b/usr/contrib/mh/sbr/uprf.c
new file mode 100644 (file)
index 0000000..d5f90af
--- /dev/null
@@ -0,0 +1,17 @@
+/* uprf.c - "unsigned" lexical prefix  */
+
+
+uprf (c1, c2)
+register char  *c1,
+               *c2;
+{
+    register int    c;
+
+    while (c = *c2++)
+       if ((c | 040) != (*c1 | 040))
+           return 0;
+       else
+           c1++;
+
+    return 1;
+}