Added quiet option
Don't use exit in a subprogram.
Return -1 instead to signal error.