/* - regbranch - one alternative of an | operator * * Implements the concatenation operator. */ static char * regbranch( int *flagp ) { register char *ret; register char *chain; register char *latest; int flags; *flagp = WORST; /* Tentatively. */ ret = regnode(BRANCH); chain = NULL; while (*regparse != '\0' && *regparse != ')' && *regparse != '\n' && *regparse != '|') { latest = regpiece(&flags); if (latest == NULL) return(NULL); *flagp |= flags&HASWIDTH; if (chain == NULL) /* First piece. */ *flagp |= flags&SPSTART; else regtail(chain, latest); chain = latest; } if (chain == NULL) /* Loop ran zero times. */ (void) regnode(NOTHING); return(ret); }
TCHAR *CRegExp::regbranch(int *flagp) { TCHAR *ret; TCHAR *chain; TCHAR *latest; int flags; int c; *flagp = WORST; // Tentatively. ret = regnode(BRANCH); chain = NULL; while ((c = *regparse) != _T('\0') && c != _T('|') && c != _T(')')) { latest = regpiece(&flags); if (latest == NULL) return(NULL); *flagp |= flags&HASWIDTH; if (chain == NULL) // First piece. *flagp |= flags&SPSTART; else regtail(chain, latest); chain = latest; } if (chain == NULL) // Loop ran zero times. (void) regnode(NOTHING); return(ret); }
/* - regbranch - one alternative of an | operator * * Implements the concatenation operator. */ static int regbranch(regex_t *preg, int *flagp ) { int ret; int chain; int latest; int flags; *flagp = WORST; /* Tentatively. */ ret = regnode(preg, BRANCH); chain = 0; while (*preg->regparse != '\0' && *preg->regparse != ')' && *preg->regparse != '|') { latest = regpiece(preg, &flags); if (latest == 0) return 0; *flagp |= flags&HASWIDTH; if (chain == 0) {/* First piece. */ *flagp |= flags&SPSTART; } else { regtail(preg, chain, latest); } chain = latest; } if (chain == 0) /* Loop ran zero times. */ (void) regnode(preg, NOTHING); return(ret); }
/* - regbranch - one alternative of an | operator * * Implements the concatenation operator. */ char* ossimRegExp::regbranch (int *flagp) { char* ret; char* chain; char* latest; int flags; *flagp = WORST; // Tentatively. ret = regnode(BRANCH); chain = NULL; while (*regparse != '\0' && *regparse != '|' && *regparse != ')') { latest = regpiece(&flags); if (latest == NULL) return (NULL); *flagp |= flags & HASWIDTH; if (chain == NULL) // First piece. *flagp |= flags & SPSTART; else regtail(chain, latest); chain = latest; } if (chain == NULL) // Loop ran zero times. regnode(NOTHING); return (ret); }
/* - regbranch - one alternative of an | operator * * Implements the concatenation operator. */ static char * regbranch(int *flagp) { register char *ret; register char *chain; register char *latest; int flags; int len = 0; *flagp = WORST; /* Tentatively. */ ret = regnode(BRANCH); chain = NULL; /* Solaris 2.6 motif diff bug 1236359 1 line */ while ((len = CHARLEN(regparse)) > 0 && (len != 1 || (*regparse != ')' && *regparse != '\n' && *regparse != '|'))) { latest = regpiece(&flags); if (latest == NULL) return(NULL); *flagp |= flags & HASWIDTH; if (chain == NULL) /* First piece. */ *flagp |= flags & SPSTART; else regtail(chain, latest); chain = latest; } if (chain == NULL) /* Loop ran zero times. */ (void) regnode(NOTHING); return(ret); }