2 * tools.c -- Miscellaneous routines used by both the client and server.
11 char *safestrncpy(char *dest, const char *src, size_t n)
13 if (dest == NULL || src == NULL)
15 fprintf(stderr, "safestrncpy: NULL argument\n");
18 strncpy(dest, src, n);
25 * num_parms() - discover number of parameters...
27 int num_parms(char *source)
32 for (a=0; a<strlen(source); ++a)
33 if (source[a]=='|') ++count;
38 * extract() - a smarter string tokenizer
40 void extract_token(char *dest, char *source, int parmnum, char separator)
50 if (strlen(source)==0) {
54 for (i=0; i<strlen(source); ++i) {
55 if (source[i]==separator) {
58 else if (curr_parm == parmnum) {
60 dest[len++] = source[i];
66 * extract_int() - extract an int parm w/o supplying a buffer
68 int extract_int(char *source, int parmnum)
72 extract_token(buf, source, parmnum, '|');
77 * extract_long() - extract an long parm w/o supplying a buffer
79 long extract_long(char *source, long int parmnum)
83 extract_token(buf, source, parmnum, '|');