Before actually fixing the file, salvagerun makes sure the run header is complete and usable. Since the run may not have been validated by the capture program, by placing the correct run ID in the header, other checks are needed to ensure that the run is valid. It makes sure that the header size, the averaging type, the sampling rate, the window duration, the frame size, and the sampling rate divisors all fall within acceptable limits, and are mutually consistent. If any discrepancy is found, it will not be able to salvage the run, and it will indicate which parameter(s) failed the test.
Next, salvagerun will compare the actual lengths of the waveform files against each other, and against the expected run length. It will warn you if any waveform files are missing. It will then give you a summary of the changes that are required to the runfile. These can include fixing the run ID, adjusting the run length and number of frames, padding out short waveform files with zeroes, and clearing the waveform divisors for missing waveform files. If it finds nothing to fix, it will say so and quit.
After these consistency checks and summary, salvagerun asks you if it is OK to proceed. Type an N if you decide to cancel the operation - the run will remain unchanged. If you type a Y, or hit SPACE or RETURN, salvagerun will update the run header with all the necessary corrections, then pad out the waveform files that are too short. The padding will appear as a straight line at the level of 0 A/D units. This portion of the waveforms will obviously be useless in any analysis, but at least the analysis(1) program will let you look at the run, and analyse the valid data up to the point where the padding began. Salvagerun makes no attempt to correct or replace the run description file (.txt), nor the frame description file (.frd); you will have to update these text files by hand, if there is any problem with them.
The -f option can be used to change the sampling frequency as recorded in the run header, if it is incorrect. If the given freq is a number, that number will replace the current value. If it is given as a slash (/) followed immediately by a number (in the same argument), the current frequency is divided by the given number. If just a slash, with no following number is given, the current frequency is divided by the number of waveforms in the run. This latter correction is to fix a problem introduced with an old alpha release of the axon2run program, which incorrectly set the sampling frequency.