summaryrefslogtreecommitdiff
path: root/sys/src/cmd/ip/imap4d/utils.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2017-03-12 17:15:03 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2017-03-12 17:15:03 +0100
commit963cfc9a6f6e721f52aa949e6d1af0c3e8dc2ecc (patch)
tree749b74875dbc49bcf6ed0776648b8f0ef9417407 /sys/src/cmd/ip/imap4d/utils.c
parent8177d20fb2709ba9290dfd41308b8e5bee4e00f8 (diff)
merging erik quanstros nupas
Diffstat (limited to 'sys/src/cmd/ip/imap4d/utils.c')
-rw-r--r--sys/src/cmd/ip/imap4d/utils.c182
1 files changed, 0 insertions, 182 deletions
diff --git a/sys/src/cmd/ip/imap4d/utils.c b/sys/src/cmd/ip/imap4d/utils.c
deleted file mode 100644
index 6e081a62e..000000000
--- a/sys/src/cmd/ip/imap4d/utils.c
+++ /dev/null
@@ -1,182 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-#include <auth.h>
-#include "imap4d.h"
-
-/*
- * reverse string [s:e) in place
- */
-void
-strrev(char *s, char *e)
-{
- int c;
-
- while(--e > s){
- c = *s;
- *s++ = *e;
- *e = c;
- }
-}
-
-int
-isdotdot(char *s)
-{
- return s[0] == '.' && s[1] == '.' && (s[2] == '/' || s[2] == '\0');
-}
-
-int
-issuffix(char *suf, char *s)
-{
- int n;
-
- n = strlen(s) - strlen(suf);
- if(n < 0)
- return 0;
- return strcmp(s + n, suf) == 0;
-}
-
-int
-isprefix(char *pre, char *s)
-{
- return strncmp(pre, s, strlen(pre)) == 0;
-}
-
-int
-ciisprefix(char *pre, char *s)
-{
- return cistrncmp(pre, s, strlen(pre)) == 0;
-}
-
-char*
-readFile(int fd)
-{
- Dir *d;
- long length;
- char *s;
-
- d = dirfstat(fd);
- if(d == nil)
- return nil;
- length = d->length;
- free(d);
- s = binalloc(&parseBin, length + 1, 0);
- if(s == nil || read(fd, s, length) != length)
- return nil;
- s[length] = '\0';
- return s;
-}
-
-/*
- * create the imap tmp file.
- * it just happens that we don't need multiple temporary files.
- */
-int
-imapTmp(void)
-{
- char buf[ERRMAX], name[MboxNameLen];
- int tries, fd;
-
- snprint(name, sizeof(name), "/mail/box/%s/mbox.tmp.imp", username);
- for(tries = 0; tries < LockSecs*2; tries++){
- fd = create(name, ORDWR|ORCLOSE|OCEXEC, DMEXCL|0600);
- if(fd >= 0)
- return fd;
- errstr(buf, sizeof buf);
- if(cistrstr(buf, "locked") == nil)
- break;
- sleep(500);
- }
- return -1;
-}
-
-/*
- * open a file which might be locked.
- * if it is, spin until available
- */
-int
-openLocked(char *dir, char *file, int mode)
-{
- char buf[ERRMAX];
- int tries, fd;
-
- for(tries = 0; tries < LockSecs*2; tries++){
- fd = cdOpen(dir, file, mode);
- if(fd >= 0)
- return fd;
- errstr(buf, sizeof buf);
- if(cistrstr(buf, "locked") == nil)
- break;
- sleep(500);
- }
- return -1;
-}
-
-int
-fqid(int fd, Qid *qid)
-{
- Dir *d;
-
- d = dirfstat(fd);
- if(d == nil)
- return -1;
- *qid = d->qid;
- free(d);
- return 0;
-}
-
-ulong
-mapInt(NamedInt *map, char *name)
-{
- int i;
-
- for(i = 0; map[i].name != nil; i++)
- if(cistrcmp(map[i].name, name) == 0)
- break;
- return map[i].v;
-}
-
-char*
-estrdup(char *s)
-{
- char *t;
-
- t = emalloc(strlen(s) + 1);
- strcpy(t, s);
- return t;
-}
-
-void*
-emalloc(ulong n)
-{
- void *p;
-
- p = malloc(n);
- if(p == nil)
- bye("server out of memory");
- setmalloctag(p, getcallerpc(&n));
- return p;
-}
-
-void*
-ezmalloc(ulong n)
-{
- void *p;
-
- p = malloc(n);
- if(p == nil)
- bye("server out of memory");
- setmalloctag(p, getcallerpc(&n));
- memset(p, 0, n);
- return p;
-}
-
-void*
-erealloc(void *p, ulong n)
-{
- p = realloc(p, n);
- if(p == nil)
- bye("server out of memory");
- setrealloctag(p, getcallerpc(&p));
- return p;
-}