|
|
1.1 ! root 1: #include <stdio.h> ! 2: ! 3: #define LQUOTE '(' ! 4: #define RQUOTE ')' ! 5: #define NOSYSPART 0 ! 6: #define HASSYSPART 1 ! 7: ! 8: /******* ! 9: * char * ! 10: * getprm(s, prm) get next parameter from s ! 11: * char *s, *prm; ! 12: * ! 13: * return - pointer to next character in s ! 14: */ ! 15: ! 16: char * ! 17: getprm(s, prm) ! 18: char *s, *prm; ! 19: { ! 20: char *c; ! 21: ! 22: while (*s == ' ' || *s == '\t' || *s == '\n') ! 23: s++; ! 24: ! 25: *prm = '\0'; ! 26: if (*s == '\0') ! 27: return(NULL); ! 28: ! 29: if (*s == '>' || *s == '<' || *s == '|' ! 30: || *s == ';') { ! 31: *prm++ = *s++; ! 32: *prm = '\0'; ! 33: return(s); ! 34: } ! 35: ! 36: /* look for quoted argument */ ! 37: if (*s == LQUOTE) { ! 38: if ((c = index(s + 1, RQUOTE)) != NULL) { ! 39: c++; ! 40: while (c != s) ! 41: *prm++ = *s++; ! 42: *prm = '\0'; ! 43: return(s); ! 44: } ! 45: } ! 46: ! 47: while (*s != ' ' && *s != '\t' && *s != '<' ! 48: && *s != '>' && *s != '|' && *s != '\0' ! 49: && *s != ';' && *s != '\n') ! 50: *prm++ = *s++; ! 51: *prm = '\0'; ! 52: ! 53: return(s); ! 54: } ! 55: ! 56: /*** ! 57: * split(name, sys, rest) split into system and file part ! 58: * char *name, *sys, *rest; ! 59: ! 60: * ! 61: * return codes: ! 62: * NOSYSPART ! 63: * HASSYSPART ! 64: */ ! 65: ! 66: split(name, sys, rest) ! 67: char *name, *sys, *rest; ! 68: { ! 69: char *c; ! 70: int i; ! 71: ! 72: if (*name == LQUOTE) { ! 73: if ((c = index(name + 1, RQUOTE)) != NULL) { ! 74: /* strip off quotes */ ! 75: name++; ! 76: while (c != name) ! 77: *rest++ = *name++; ! 78: *rest = '\0'; ! 79: *sys = '\0'; ! 80: return(NOSYSPART); ! 81: } ! 82: } ! 83: ! 84: if ((c = index(name, '!')) == NULL) { ! 85: strcpy(rest, name); ! 86: *sys = '\0'; ! 87: return(NOSYSPART); ! 88: } ! 89: ! 90: *c = '\0'; ! 91: for (i = 0; i < 7; i++) ! 92: if ((*sys++ = *name++) == '\0') ! 93: break; ! 94: ! 95: strcpy(rest, ++c); ! 96: return(HASSYSPART); ! 97: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.