Auto wire cutter, Need help with code

I created a 18 gage wire cutter for a project at work using two stepper motors, rollers and a wire cutter. I’m using an Arduino Uno and the big easy stepper driver from Sparkfun.
Below is my code for cutting 50 “2 inch jumpers”. It takes 880 steps to move the wire 1in. It works fantastic for 2in, 4.5in, 8 in and 16in. But I tried to run a 6ft piece by changing the i value to 63360 steps in my travelstep section and it no longer works. it never stops and cuts just continuously spits out wire.

I’ve pretty new at coding and am looking for what I’ve done wrong or is there a limit on counting the steps to move? and 63360 steps is too much?

Thanks for any help you can give.

//880 steps is 1 inch
int dirpin = 2;
int steppin = 3;
int dirpin1 = 8;
int steppin1 = 9;
int repeat = 0; // How many times should we loop before stopping? (0 for no stop)

void setup()
{
pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
pinMode(dirpin1, OUTPUT);
pinMode(steppin1, OUTPUT);
}
void loop()
{
if (repeat <=50)
{ // Do we loop a finite number of times?
repeat++;
delay (2000);
travelstep();
delay (500);
cutstep();
}

}

void travelstep() {
int i;

digitalWrite(dirpin, HIGH); // Set the direction.
delay(100);

for (i = 0; i<1760; i++) // Iterate for 1760 microsteps 2inch piece.
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(300); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

}
void cutstep()
{
int i1;

digitalWrite(dirpin1, LOW); // Set the direction.
delay(100);

for (i1 = 0; i1<3200; i1++) // Iterate for 3200 microsteps.
{
digitalWrite(steppin1, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin1, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(300);

}

}

i is an integer; valid values are -32768 through 32767, when it passes 32767, it rolls over to -32768. Thus it never reaches 63300.

Use a long, or an unsigned int, if you need to store a larger value.

i is an integer; valid values are -32768 through 32767, when it passes 32767, it rolls over to -32768. Thus it never reaches 63300.

Use a long, or an unsigned int, if you need to store a larger value.

Better yet, write a function that takes a distance, and spits out the length of wire needed. As long as you don't need more than 32,767" of wire, you can use two loops - one for inches, one for steps per inch. Deal with any fractional portion, separately.