remove cruft from the repo.
[apps/madmutt.git] / lib.c
diff --git a/lib.c b/lib.c
index e730022..4f1fee3 100644 (file)
--- a/lib.c
+++ b/lib.c
 #include <fcntl.h>
 #include <pwd.h>
 
+#ifdef HAVE_SYSEXITS_H
+#include <sysexits.h>
+#else /* Make sure EX_OK is defined <philiph@pobox.com> */
+#define EX_OK 0
+#endif
+
 #include "lib.h"
 
 #include "lib/mem.h"
 
 extern short Umask;
 
+static struct sysexits
+{
+  int v;
+  const char *str;
+} 
+sysexits_h[] = 
+{
+#ifdef EX_USAGE
+  { 0xff & EX_USAGE, "Bad usage." },
+#endif
+#ifdef EX_DATAERR
+  { 0xff & EX_DATAERR, "Data format error." },
+#endif
+#ifdef EX_NOINPUT
+  { 0xff & EX_NOINPUT, "Cannot open input." },
+#endif
+#ifdef EX_NOUSER
+  { 0xff & EX_NOUSER, "User unknown." },
+#endif
+#ifdef EX_NOHOST
+  { 0xff & EX_NOHOST, "Host unknown." },
+#endif
+#ifdef EX_UNAVAILABLE
+  { 0xff & EX_UNAVAILABLE, "Service unavailable." },
+#endif
+#ifdef EX_SOFTWARE
+  { 0xff & EX_SOFTWARE, "Internal error." },
+#endif
+#ifdef EX_OSERR
+  { 0xff & EX_OSERR, "Operating system error." },
+#endif
+#ifdef EX_OSFILE
+  { 0xff & EX_OSFILE, "System file missing." },
+#endif
+#ifdef EX_CANTCREAT
+  { 0xff & EX_CANTCREAT, "Can't create output." },
+#endif
+#ifdef EX_IOERR
+  { 0xff & EX_IOERR, "I/O error." },
+#endif
+#ifdef EX_TEMPFAIL
+  { 0xff & EX_TEMPFAIL, "Deferred." },
+#endif
+#ifdef EX_PROTOCOL
+  { 0xff & EX_PROTOCOL, "Remote protocol error." },
+#endif
+#ifdef EX_NOPERM
+  { 0xff & EX_NOPERM, "Insufficient permission." },
+#endif
+#ifdef EX_CONFIG
+  { 0xff & EX_NOPERM, "Local configuration error." },
+#endif
+  { S_ERR, "Exec error." },
+  { -1, NULL}
+};
+
 void mutt_nocurses_error (const char *fmt, ...)
 {
   va_list ap;
@@ -155,7 +217,7 @@ int safe_symlink (const char *oldpath, const char *newpath)
     char abs_oldpath[_POSIX_PATH_MAX];
 
     if ((getcwd (abs_oldpath, sizeof abs_oldpath) == NULL) ||
-        (safe_strlen (abs_oldpath) + 1 + safe_strlen (oldpath) + 1 >
+        (str_len (abs_oldpath) + 1 + str_len (oldpath) + 1 >
          sizeof abs_oldpath))
       return -1;
 
@@ -335,13 +397,13 @@ char *mutt_read_line (char *s, size_t * size, FILE * fp, int *line)
   char *ch;
 
   if (!s) {
-    s = safe_malloc (STRING);
+    s = mem_malloc (STRING);
     *size = STRING;
   }
 
   FOREVER {
     if (fgets (s + offset, *size - offset, fp) == NULL) {
-      FREE (&s);
+      mem_free (&s);
       return NULL;
     }
     if ((ch = strchr (s + offset, '\n')) != NULL) {
@@ -371,7 +433,7 @@ char *mutt_read_line (char *s, size_t * size, FILE * fp, int *line)
         /* There wasn't room for the line -- increase ``s'' */
         offset = *size - 1;     /* overwrite the terminating 0 */
         *size += STRING;
-        safe_realloc (&s, *size);
+        mem_realloc (&s, *size);
       }
     }
   }
@@ -416,7 +478,7 @@ char *mutt_concat_path (char *d, const char *dir, const char *fname, size_t l)
 {
   const char *fmt = "%s/%s";
 
-  if (!*fname || (*dir && dir[safe_strlen (dir) - 1] == '/'))
+  if (!*fname || (*dir && dir[str_len (dir) - 1] == '/'))
     fmt = "%s%s";
 
   snprintf (d, l, fmt, dir, fname);
@@ -432,3 +494,17 @@ const char *mutt_basename (const char *f)
   else
     return f;
 }
+
+const char *
+mutt_strsysexit(int e)
+{
+  int i;
+  
+  for(i = 0; sysexits_h[i].str; i++)
+  {
+    if(e == sysexits_h[i].v)
+      break;
+  }
+  
+  return sysexits_h[i].str;
+}