use super::*;
use f2rust_std::*;
const LBCELL: i32 = -5;
const MAXHND: i32 = 1000;
pub fn CSTART(ctx: &mut Context) -> f2rust_std::Result<()> {
let mut HANDLS = ActualArray::<i32>::new(LBCELL..=MAXHND);
let mut N: i32 = 0;
let mut TRIES: i32 = 0;
spicelib::CLPOOL(ctx)?;
spicelib::ZZBODRST(ctx)?;
spicelib::SSIZEI(MAXHND, HANDLS.as_slice_mut(), ctx)?;
spicelib::DAFHOF(HANDLS.as_slice_mut(), ctx)?;
N = spicelib::CARDI(HANDLS.as_slice(), ctx)?;
for I in 1..=N {
spicelib::SPKUEF(HANDLS[I], ctx)?;
spicelib::CKUPF(HANDLS[I], ctx)?;
spicelib::PCKUOF(HANDLS[I], ctx)?;
}
spicelib::SSIZEI(MAXHND, HANDLS.as_slice_mut(), ctx)?;
spicelib::DAFHOF(HANDLS.as_slice_mut(), ctx)?;
N = spicelib::CARDI(HANDLS.as_slice(), ctx)?;
TRIES = 0;
while ((N > 0) && (TRIES < 100)) {
for I in 1..=N {
spicelib::DAFCLS(HANDLS[I], ctx)?;
}
spicelib::SSIZEI(MAXHND, HANDLS.as_slice_mut(), ctx)?;
spicelib::DAFHOF(HANDLS.as_slice_mut(), ctx)?;
N = spicelib::CARDI(HANDLS.as_slice(), ctx)?;
TRIES = (TRIES + 1);
}
spicelib::DASHOF(HANDLS.as_slice_mut(), ctx)?;
N = spicelib::CARDI(HANDLS.as_slice(), ctx)?;
for I in 1..=N {
spicelib::EKUEF(HANDLS[I], ctx)?;
}
spicelib::ZZEKSCLN(ctx)?;
TRIES = 0;
spicelib::SSIZEI(MAXHND, HANDLS.as_slice_mut(), ctx)?;
spicelib::DASHOF(HANDLS.as_slice_mut(), ctx)?;
N = spicelib::CARDI(HANDLS.as_slice(), ctx)?;
while ((N > 0) && (TRIES < 100)) {
for I in 1..=N {
spicelib::DASCLS(HANDLS[I], ctx)?;
}
TRIES = (TRIES + 1);
spicelib::SSIZEI(MAXHND, HANDLS.as_slice_mut(), ctx)?;
spicelib::DASHOF(HANDLS.as_slice_mut(), ctx)?;
N = spicelib::CARDI(HANDLS.as_slice(), ctx)?;
}
KFILES(ctx)?;
Ok(())
}