inventory view prompts for DB file name or blank DB size; restore() figures out allocation size based on file stat, so it no longer resizes
single fread call simplifies restore() code