1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//
// GENERATED FILE
//
use super::*;
use f2rust_std::*;
struct SaveVars {
LSTYLE: Vec<u8>,
SSTYLE: Vec<u8>,
MARGIN: Vec<u8>,
SCRSTT: StackArray<bool, 3>,
SAVSTT: StackArray<bool, 3>,
}
impl SaveInit for SaveVars {
fn new() -> Self {
let mut LSTYLE = vec![b' '; 128 as usize];
let mut SSTYLE = vec![b' '; 128 as usize];
let mut MARGIN = vec![b' '; 128 as usize];
let mut SCRSTT = StackArray::<bool, 3>::new(1..=3);
let mut SAVSTT = StackArray::<bool, 3>::new(1..=3);
fstr::assign(&mut LSTYLE, b"LEFT 1 RIGHT 78");
fstr::assign(&mut SSTYLE, b"LEFT 1 RIGHT 78");
Self {
LSTYLE,
SSTYLE,
MARGIN,
SCRSTT,
SAVSTT,
}
}
}
//$ Disclaimer
//
// THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
// CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
// GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
// ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
// PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
// TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
// WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
// PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
// SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
// SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
//
// IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
// BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
// LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
// INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
// REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
// REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
//
// RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
// THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
// CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
// ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
//
pub fn NSPXCP(STRING: &[u8], ERROR: CharArray, SCREEN: &[u8], LOGFIL: &[u8]) {
//
}
pub fn NSPERR(STRING: &[u8], ERROR: CharArrayMut, ctx: &mut Context) -> f2rust_std::Result<()> {
let save = ctx.get_vars::<SaveVars>();
let save = &mut *save.borrow_mut();
let mut ERROR = DummyCharArrayMut::new(ERROR, None, 1..=2);
if fstr::ne(ERROR.get(1), b" ") {
PRCLR(ctx)?;
NSPIOH(b"LOG", ctx)?;
NSPMRG(&mut save.MARGIN, ctx);
spicelib::SUFFIX(&save.SSTYLE, 1, &mut save.MARGIN);
NICEPR_1(&ERROR[1], &save.MARGIN, NSPWLN, ctx)?;
NSPGST(b"SCREEN", save.SCRSTT.as_slice_mut(), ctx)?;
NSPGST(b"SAVE", save.SAVSTT.as_slice_mut(), ctx)?;
NSPIOH(b"SCREEN", ctx)?;
NSPIOH(b"SAVE", ctx)?;
NSPIOA(b"LOG", ctx)?;
for I in 1..=2 {
NICEPR_1(&ERROR[I], &save.LSTYLE, NSPWLN, ctx)?;
}
NSPPST(b"SCREEN", save.SCRSTT.as_slice(), ctx)?;
NSPPST(b"SAVE", save.SAVSTT.as_slice(), ctx)?;
fstr::assign(ERROR.get_mut(1), b" ");
return Ok(());
}
if fstr::eq(STRING, b"?") {
if fstr::eq(ERROR.get(2), b" ") {
TRNLAT(b"NOMOREDIAGNOSTICS", &mut ERROR[2], ctx);
}
NSPIOH(b"LOG", ctx)?;
NSPMRG(&mut save.MARGIN, ctx);
spicelib::SUFFIX(&save.SSTYLE, 1, &mut save.MARGIN);
NICEPR_1(&ERROR[2], &save.MARGIN, NSPWLN, ctx)?;
NSPIOA(b"LOG", ctx)?;
fstr::assign(ERROR.get_mut(2), b" ");
}
Ok(())
}
pub fn NSPSTY(SCREEN: &[u8], LOGFIL: &[u8], ctx: &mut Context) {
let save = ctx.get_vars::<SaveVars>();
let save = &mut *save.borrow_mut();
fstr::assign(&mut save.SSTYLE, SCREEN);
fstr::assign(&mut save.LSTYLE, LOGFIL);
}