proc dosave(filename)
{
var res;
res = oadl::save(filename);
switch (res) {
case true : "Save succeeded!\n";
case false : "Error saving to ", filename, '\n';
case nil : "Restore succeeded!\n";
}
return res;
}
proc dorestore(filename)
{
oadl::restore(filename);
"Error restoring from ", filename, '\n';
}
proc main()
{
var i = 3;
const saveName = "oadlsav.oax";
"At start, i is ", i, '\n';
while (dosave(saveName)) {
i = 4;
"Before restore, i is ", i, '\n';
dorestore(saveName);
}
"At end, i is ", i, '\n';
}