#![allow(dead_code, non_camel_case_types, non_snake_case, unused_assignments, unused_must_use, unused_mut, unused_variables)]
use crate::runtime::*;
impl<'resources> PortableTexEngine<'resources> {
pub(crate) unsafe fn unpackage(&mut self) -> EngineFlow<()> {
let mut mem: *mut memoryword = self.state.zmem.as_mut_ptr();
let eqtb = self.state.zeqtb.as_mut_ptr();
let mut p: halfword = 0;
let mut r: halfword = 0;
let mut c_0: eightbits = 0;
if self.state.curchr > 1 as i32 {
(*mem.offset(self.state.curlist.tailfield as isize)).hh.v.RH = self
.state
.discptr[self.state.curchr as usize];
self.state.discptr[self.state.curchr as usize] = -(268435455 as i64)
as halfword;
} else {
c_0 = self.state.curchr as eightbits;
(&mut *(self as *mut PortableTexEngine<'_>)).scanregisternum()?;
if self.state.curval < 256 as i32 {
p = (*eqtb.offset((1206567 as i64 + self.state.curval as i64) as isize))
.hh
.v
.RH;
} else {
(&mut *(self as *mut PortableTexEngine<'_>))
.zfindsaelement(
4 as i32 as smallnumber,
self.state.curval,
0 as i32,
)?;
if self.state.curptr as i64 == -(268435455 as i64) {
p = -(268435455 as i64) as halfword;
} else {
p = (*mem.offset((self.state.curptr as i32 + 1 as i32) as isize))
.hh
.v
.RH;
}
}
if p as i64 == -(268435455 as i64) {
return Ok(());
}
if (if self.state.curlist.modefield as integer >= 0 as i32 {
self.state.curlist.modefield as integer
} else {
-(self.state.curlist.modefield as i32)
}) == 209 as i32
|| (if self.state.curlist.modefield as integer >= 0 as i32 {
self.state.curlist.modefield as integer
} else {
-(self.state.curlist.modefield as i32)
}) == 1 as i32 && (*mem.offset(p as isize)).hh.u.B0 as i32 != 1 as i32
|| (if self.state.curlist.modefield as integer >= 0 as i32 {
self.state.curlist.modefield as integer
} else {
-(self.state.curlist.modefield as i32)
}) == 105 as i32 && (*mem.offset(p as isize)).hh.u.B0 as i32 != 0 as i32
{
self.state.interaction as i32 == 3 as i32;
if self.state.filelineerrorstylep != 0 {
(&mut *(self as *mut PortableTexEngine<'_>)).printfileline();
} else {
(&mut *(self as *mut PortableTexEngine<'_>))
.zprintnl(65544 as i64 as strnumber);
}
(&mut *(self as *mut PortableTexEngine<'_>))
.zprint(66532 as i64 as integer);
self.state.helpptr = 3 as eightbits;
self.state.helpline[2 as i32 as usize] = 66533 as i64 as strnumber;
self.state.helpline[1 as i32 as usize] = 66534 as i64 as strnumber;
self.state.helpline[0 as i32 as usize] = 66535 as i64 as strnumber;
(&mut *(self as *mut PortableTexEngine<'_>)).error()?;
return Ok(());
}
if c_0 as i32 == 1 as i32 {
(*mem.offset(self.state.curlist.tailfield as isize)).hh.v.RH = (&mut *(self
as *mut PortableTexEngine<'_>))
.zcopynodelist(
(*mem.offset((p as i32 + 5 as i32) as isize)).hh.v.RH,
)?;
} else {
(*mem.offset(self.state.curlist.tailfield as isize)).hh.v.RH = (*mem
.offset((p as i32 + 5 as i32) as isize))
.hh
.v
.RH;
if self.state.curval < 256 as i32 {
(*eqtb.offset((1206567 as i64 + self.state.curval as i64) as isize))
.hh
.v
.RH = -(268435455 as i64) as halfword;
} else {
(&mut *(self as *mut PortableTexEngine<'_>))
.zfindsaelement(
4 as i32 as smallnumber,
self.state.curval,
0 as i32,
)?;
if self.state.curptr as i64 != -(268435455 as i64) {
(*mem.offset((self.state.curptr as i32 + 1 as i32) as isize))
.hh
.v
.RH = -(268435455 as i64) as halfword;
let ref mut fresh163 = (*mem
.offset((self.state.curptr as i32 + 1 as i32) as isize))
.hh
.v
.LH;
*fresh163 += 1;
(&mut *(self as *mut PortableTexEngine<'_>))
.zdeletesaref(self.state.curptr);
}
}
(&mut *(self as *mut PortableTexEngine<'_>)).zfreenode(p, 7 as i32);
}
}
Ok(
while (*mem.offset(self.state.curlist.tailfield as isize)).hh.v.RH as i64
!= -(268435455 as i64)
{
r = (*mem.offset(self.state.curlist.tailfield as isize)).hh.v.RH;
if !(r >= self.state.himemmin)
&& (*mem.offset(r as isize)).hh.u.B0 as i32 == 40 as i32
{
(*mem.offset(self.state.curlist.tailfield as isize)).hh.v.RH = (*mem
.offset(r as isize))
.hh
.v
.RH;
(&mut *(self as *mut PortableTexEngine<'_>)).zfreenode(r, 3 as i32);
}
self.state.curlist.tailfield = (*mem
.offset(self.state.curlist.tailfield as isize))
.hh
.v
.RH;
},
)
}
pub(crate) unsafe fn unsave(&mut self) -> EngineFlow<()> {
let mut mem: *mut memoryword = self.state.zmem.as_mut_ptr();
let eqtb = self.state.zeqtb.as_mut_ptr();
let mut p: halfword = 0;
let mut l_0: quarterword = 0;
let mut t: halfword = 0;
let mut a: boolean = 0;
a = false_0 as boolean;
if self.state.curlevel as i32 > 1 as i32 {
self.state.curlevel = self.state.curlevel.wrapping_sub(1);
loop {
self.state.saveptr -= 1;
if (*self.state.savestack.offset(self.state.saveptr as isize)).hh.u.B0
as i32 == 3 as i32
{
break;
}
p = (*self.state.savestack.offset(self.state.saveptr as isize)).hh.v.RH;
if (*self.state.savestack.offset(self.state.saveptr as isize)).hh.u.B0
as i32 == 2 as i32
{
t = self.state.curtok;
self.state.curtok = p;
if a != 0 {
p = (&mut *(self as *mut PortableTexEngine<'_>)).getavail()?;
(*mem.offset(p as isize)).hh.v.LH = self.state.curtok;
(*mem.offset(p as isize)).hh.v.RH = self.state.curinput.locfield;
self.state.curinput.locfield = p;
self.state.curinput.startfield = p;
if (self.state.curtok as i64) < 6291456 as i64 {
if (self.state.curtok as i64) < 4194304 as i64 {
self.state.alignstate -= 1;
} else {
self.state.alignstate += 1;
}
}
} else {
(&mut *(self as *mut PortableTexEngine<'_>)).backinput()?;
a = (self.state.eTeXmode as i32 == 1 as i32) as i32 as boolean;
}
self.state.curtok = t;
} else if (*self.state.savestack.offset(self.state.saveptr as isize))
.hh
.u
.B0 as i32 == 4 as i32
{
(&mut *(self as *mut PortableTexEngine<'_>)).sarestore()?;
self.state.sachain = p;
self.state.salevel = (*self
.state
.savestack
.offset(self.state.saveptr as isize))
.hh
.u
.B1 as quarterword;
} else {
if (*self.state.savestack.offset(self.state.saveptr as isize))
.hh
.u
.B0 as i32 == 0 as i32
{
l_0 = (*self.state.savestack.offset(self.state.saveptr as isize))
.hh
.u
.B1 as quarterword;
self.state.saveptr -= 1;
} else {
*self.state.savestack.offset(self.state.saveptr as isize) = *eqtb
.offset(1205763 as i64 as isize);
}
if (p as i64) < 7892264 as i64 || p as i64 > 9006997 as i64 {
if (*eqtb.offset(p as isize)).hh.u.B1 as i32 == 1 as i32 {
(&mut *(self as *mut PortableTexEngine<'_>))
.zeqdestroy(
*self.state.savestack.offset(self.state.saveptr as isize),
)?;
if (*eqtb.offset(7892301 as i64 as isize)).u.CINT > 0 as i32
{
(&mut *(self as *mut PortableTexEngine<'_>))
.zrestoretrace(p, 65872 as i64 as strnumber);
}
} else {
(&mut *(self as *mut PortableTexEngine<'_>))
.zeqdestroy(*eqtb.offset(p as isize))?;
*eqtb.offset(p as isize) = *self
.state
.savestack
.offset(self.state.saveptr as isize);
if (*eqtb.offset(7892301 as i64 as isize)).u.CINT > 0 as i32
{
(&mut *(self as *mut PortableTexEngine<'_>))
.zrestoretrace(p, 65873 as i64 as strnumber);
}
}
} else if *(&raw mut self.state.zzzaa as *mut quarterword)
.offset(-(7892264 as i32 as isize))
.offset(p as isize) as i32 != 1 as i32
{
*eqtb.offset(p as isize) = *self
.state
.savestack
.offset(self.state.saveptr as isize);
*(&raw mut self.state.zzzaa as *mut quarterword)
.offset(-(7892264 as i32 as isize))
.offset(p as isize) = l_0;
if (*eqtb.offset(7892301 as i64 as isize)).u.CINT > 0 as i32 {
(&mut *(self as *mut PortableTexEngine<'_>))
.zrestoretrace(p, 65873 as i64 as strnumber);
}
} else if (*eqtb.offset(7892301 as i64 as isize)).u.CINT > 0 as i32 {
(&mut *(self as *mut PortableTexEngine<'_>))
.zrestoretrace(p, 65872 as i64 as strnumber);
}
}
}
if (*eqtb.offset(7892326 as i64 as isize)).u.CINT > 0 as i32 {
(&mut *(self as *mut PortableTexEngine<'_>)).zgrouptrace(1 as i32);
}
if *self.state.grpstack.offset(self.state.inopen as isize)
== self.state.curboundary
{
(&mut *(self as *mut PortableTexEngine<'_>)).groupwarning();
}
self.state.curgroup = (*self
.state
.savestack
.offset(self.state.saveptr as isize))
.hh
.u
.B1 as groupcode;
self.state.curboundary = (*self
.state
.savestack
.offset(self.state.saveptr as isize))
.hh
.v
.RH as integer;
if self.state.eTeXmode as i32 == 1 as i32 {
self.state.saveptr -= 1;
}
} else {
match (&mut *(self as *mut PortableTexEngine<'_>))
.zconfusion(65871 as i64 as strnumber)?
{};
};
Ok(())
}
}