The input parsing and validating looks like it's working fine. The interrupt itself isn't though. Time to debug.