package tape // MaxStructureLength determines how long a TAPE data structure can be. This // applies to: // // - OTA // - SBA/LBA // - KTV // // By default it is set at 2^20 (about a million). // You shouldn't need to change this. If you do, it should only be set once at // the start of the program. var MaxStructureLength = 1024 * 1024 // MaxInt is the maximum value an int can hold. This varies depending on the // system. const MaxInt int = int(^uint(0) >> 1) // Uint64ToIntSafe casts the input to an int if it can be done without overflow, // or returns an error otherwise. func Uint64ToIntSafe(input uint64) (int, error) { if input > uint64(MaxInt) { return 0, ErrTooLarge } return int(input), nil }