1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "debug.h"
#include "memory.h"
#define PARAMS_SIZE 255
int
strcmp_chomp(char *str1, char *str2)
{
int i;
char s1[PARAMS_SIZE],s2[PARAMS_SIZE];
if(!str1 || !str2)
return 1;
strncpy(s1, str1, PARAMS_SIZE);
strncpy(s2, str2, PARAMS_SIZE);
for (i=strlen(s1)-1; i >=0 && isspace(s1[i]); --i) ;
s1[++i] = '\0';
for (i=strlen(s2)-1; i >=0 && isspace(s2[i]); --i) ;
s2[++i] = '\0';
return(strcmp(s1,s2));
}
void
strchop(char *str)
{
int i;
for (i=strlen(str)-1; i >=0 && isspace(str[i]); --i) ;
str[++i] = '\0';
}
void
basename (char * str1, char * str2)
{
char *p = str1 + (strlen(str1) - 1);
while (*--p != '/' && p != str1)
continue;
if (p != str1)
p++;
strcpy(str2, p);
}
int
filepresent (char * run) {
struct stat buf;
if(!stat(run, &buf))
return 1;
return 0;
}
int
get_word (char * sentence, char ** word)
{
char * p;
int len;
int skip = 0;
if (word)
*word = NULL;
while (*sentence == ' ') {
sentence++;
skip++;
}
if (*sentence == '\0')
return 0;
p = sentence;
while (*p != ' ' && *p != '\0')
p++;
len = (int) (p - sentence);
if (!word)
return skip + len;
*word = MALLOC(len + 1);
if (!*word) {
condlog(0, "get_word : oom\n");
return 0;
}
strncpy(*word, sentence, len);
condlog(4, "*word = %s, len = %i", *word, len);
if (*p == '\0')
return 0;
return skip + len;
}
|