142 int i, ok=0, n, mass_nr=0, ic_mass_nr=0;
143 char *cptr, atom[3], ic_atom[3];
147 while(isotope_code[i]!=0) {
148 if(strcasecmp(isotope_code[i], isocode)==0) {
154 if(ok==1)
return(isotope_code[i]);
158 n=strcspn(isocode,
"-1234567890");
162 strncpy(atom, isocode, n); atom[n]=(char)0;
163 mass_nr=atoi(isocode+n);
if(mass_nr<0) mass_nr=-mass_nr;
165 mass_nr=atoi(isocode);
166 cptr=isocode;
while(isdigit((
int)cptr[0])) cptr++;
167 if(strlen(cptr)>2)
return(NULL);
172 while(isotope_code[i]!=0) {
174 n=strcspn(isotope_code[i],
"-1234567890");
175 strncpy(ic_atom, isotope_code[i], n); ic_atom[n]=(char)0;
176 ic_mass_nr=atoi(isotope_code[i]+n+1);
178 if(strcasecmp(ic_atom, atom)!=0) {i++;
continue;}
180 if(mass_nr>0 && ic_mass_nr!=mass_nr) {i++;
continue;}
184 if(ok==1)
return(isotope_code[i]);
else return(NULL);