char *pos_comma = strrchr(s, ','); tmp->txtcheck = 0; if(pos_comma) { *pos_comma = '\0'; ++pos_comma; if(*pos_comma == '1' || *pos_comma == 'Y' || *pos_comma == 'y' || *pos_comma == 't' || *pos_comma == 'T') tmp->txtcheck = 1; } strncpy(tmp->toplev, s, strlen(tmp->toplev) - 1); ... the rest as normal