USG_PG3/usr/source/sccscommon/dor.c
#include "../sccshead/sfile.h"
#include "../sccshead/sint.h"
char dor__[] "~|^`dor.c: 3.3";
/*
Processes r keyword. Second arg points to char after the r.
*/
dor(rp,lp,s)
int *rp, *lp;
register char *s;
{
char number[5];
register char *num;
int i;
num = number;
i = 4;
while(*s != '\0' && *s != '.') {
*num++ = *s++;
if(--i < 0) fatal("release too big (217)");
}
*num = '\0';
if((*rp = patoi(number)) < 0) fatal("release not numeric (63)");
if(*rp == 0) fatal("zero release (71)");
if(*s == '\0') {
*lp = -1;
return;
}
++s;
num = number;
i = 4;
while(*s != '\0') {
*num++ = *s++;
if(--i < 0) fatal("level too big (48)");
}
*num = '\0';
if((*lp = patoi(number)) < 0) fatal("level not numeric (47)");
}