third_party/inchi/INCHI_BASE/src/ichiread.c
int ParseAuxSegmentAtomEqu( const char  *str,
                            int         bMobileH,
                            INChI       *pInpInChI[],
                            int         ppnNumComponents[],
                            int         state )
{
    switch (state)
    {
        case AST_MOBILE_H_ATOM_EQ:
            if (bMobileH != TAUT_YES)
            {
                return RI_ERR_PROGR;
            }
            if (memcmp( str, "E:", 2 ))
            {
                return 0;
            }
            break;
        case AST_MOBILE_H_ISO_ATOM_EQ:
            if (bMobileH != TAUT_YES)
            {
                return RI_ERR_PROGR;
            }
            if (memcmp( str, "E:", 2 ))
            {
                return 0;
            }
            break;
        case AST_FIXED_H_ATOM_EQ:
            if (bMobileH != TAUT_NON)
            {
                return RI_ERR_PROGR;
            }
            if (memcmp( str, "E:", 2 ))
            {
                return 0;
            }
            break;
        case AST_FIXED_H_ISO_ATOM_EQ:
            if (bMobileH != TAUT_NON)
            {
                return RI_ERR_PROGR;
            }
            if (memcmp( str, "E:", 2 ))
            {
                return 0;
            }
            break;
        default:
            return RI_ERR_PROGR;
    }

    return 1;
}
/****************************************************************************
Read and skip AuxInfo segment atom equivalence classes, "/E:" segments
****************************************************************************/
Read and skip AuxInfo segment atom equivalence classes, "/E:" segments
Read and skip AuxInfo segment atom equivalence classes " / E : " segments
int ParseAuxSegmentAtomEqu( const char  *str,
                            int         bMobileH,
                            INChI       *pInpInChI[],
                            int         ppnNumComponents[],
                            int         state )
{
    switch (state)
    {
        case AST_MOBILE_H_ATOM_EQ:
            if (bMobileH != TAUT_YES)
            {
                return RI_ERR_PROGR;
            }
            if (memcmp( str, "E:", 2 ))
            {
                return 0;
            }
            break;
        case AST_MOBILE_H_ISO_ATOM_EQ:
            if (bMobileH != TAUT_YES)
            {
                return RI_ERR_PROGR;
            }
            if (memcmp( str, "E:", 2 ))
            {
                return 0;
            }
            break;
        case AST_FIXED_H_ATOM_EQ:
            if (bMobileH != TAUT_NON)
            {
                return RI_ERR_PROGR;
            }
            if (memcmp( str, "E:", 2 ))
            {
                return 0;
            }
            break;
        case AST_FIXED_H_ISO_ATOM_EQ:
            if (bMobileH != TAUT_NON)
            {
                return RI_ERR_PROGR;
            }
            if (memcmp( str, "E:", 2 ))
            {
                return 0;
            }
            break;
        default:
            return RI_ERR_PROGR;
    }
    return 1;
}
int ParseAuxSegmentAtomEqu ( const char * str , int bMobileH , INChI * pInpInChI [ ] , int ppnNumComponents [ ] , int state ) { switch ( state ) { case AST_MOBILE_H_ATOM_EQ : if ( bMobileH != TAUT_YES ) { return RI_ERR_PROGR ; } if ( memcmp ( str , " " , 2 ) ) { return 0 ; } break ; case AST_MOBILE_H_ISO_ATOM_EQ : if ( bMobileH != TAUT_YES ) { return RI_ERR_PROGR ; } if ( memcmp ( str , " " , 2 ) ) { return 0 ; } break ; case AST_FIXED_H_ATOM_EQ : if ( bMobileH != TAUT_NON ) { return RI_ERR_PROGR ; } if ( memcmp ( str , " " , 2 ) ) { return 0 ; } break ; case AST_FIXED_H_ISO_ATOM_EQ : if ( bMobileH != TAUT_NON ) { return RI_ERR_PROGR ; } if ( memcmp ( str , " " , 2 ) ) { return 0 ; } break ; default : return RI_ERR_PROGR ; } return 1 ; }
Read and skip AuxInfo segment atom equivalence classes, "/E:" segments
Read and skip AuxInfo segment atom equivalence classes " / E : " segments