- if ('\0' == *++p)
- return(2);
-
- c = 2;
- terminator = 0;
- lim = 1;
-
- if (*p == '\'') {
- lim = 0;
- terminator = 1;
- ++p;
- ++c;
- } else if (*p == '[') {
- lim = 0;
- terminator = 2;
- ++p;
- ++c;
- } else if (*p == '(') {
- lim = 2;
- terminator = 3;
- ++p;
- ++c;
- }
-
- if (*p == '+' || *p == '-') {
- ++p;
- ++c;
- }
-
- if (*p == '\'') {
- if (terminator)
- return(0);
- lim = 0;
- terminator = 1;
- ++p;
- ++c;
- } else if (*p == '[') {
- if (terminator)
- return(0);
- lim = 0;
- terminator = 2;
- ++p;
- ++c;
- } else if (*p == '(') {
- if (terminator)
- return(0);
- lim = 2;
- terminator = 3;
- ++p;
- ++c;
- }