+/*
+ * $Id$
+ *
+ * Server-side utility functions
+ *
+ */
+
+#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
-#include <pthread.h>
#include "citadel.h"
#include "server.h"
-#include "proto.h"
+#include "support.h"
/*
-/*
- * num_parms() - discover number of parameters...
- */
-int num_parms(char *source)
-{
- int a;
- int count = 1;
-
- for (a=0; a<strlen(source); ++a)
- if (source[a]=='|') ++count;
- return(count);
- }
-
-/*
- * extract() - extract a parameter from a series of "|" separated...
- */
-void extract(char *dest, char *source, int parmnum)
-{
- char buf[256];
- int count = 0;
- int n;
-
- if (strlen(source)==0) {
- strcpy(dest,"");
- return;
- }
-
- n = num_parms(source);
-
- if (parmnum >= n) {
- strcpy(dest,"");
- return;
- }
- strcpy(buf,source);
- if ( (parmnum == 0) && (n == 1) ) {
- strcpy(dest,buf);
- for (n=0; n<strlen(dest); ++n)
- if (dest[n]=='|') dest[n] = 0;
- return;
- }
-
- while (count++ < parmnum) do {
- strcpy(buf,&buf[1]);
- } while( (strlen(buf)>0) && (buf[0]!='|') );
- if (buf[0]=='|') strcpy(buf,&buf[1]);
- for (count = 0; count<strlen(buf); ++count)
- if (buf[count] == '|') buf[count] = 0;
- strcpy(dest,buf);
- }
-
-/*
- * extract_int() - extract an int parm w/o supplying a buffer
- */
-int extract_int(char *source, int parmnum)
-{
- char buf[256];
-
- extract(buf,source,parmnum);
- return(atoi(buf));
- }
-
-/*
- * extract_long() - extract an long parm w/o supplying a buffer
- */
-long extract_long(char *source, long int parmnum)
-{
- char buf[256];
-
- extract(buf,source,parmnum);
- return(atol(buf));
- }
-
-
-
/*
* get a line of text from a file
* ignores lines starting with #
void mesg_locate(char *targ, char *searchfor, int numdirs, char **dirs)
{
int a;
- char buf[256];
+ char buf[SIZ];
FILE *ls;
for (a=0; a<numdirs; ++a) {
}
-#ifdef NO_STRERROR
+#ifndef HAVE_STRERROR
/*
* replacement strerror() for systems that don't have it
*/
-char *strerror(e)
-int e; {
+char *strerror(int e)
+{
static char buf[32];
sprintf(buf,"errno = %d",e);