- free_format ();
- sprintf (buffer, "%s%%.%dg\n", prompt, precision);
- format = strdup (buffer);
- sprintf (buffer, "%%.%dg", precision);
- minform = strdup (buffer);
+ sprintf (buffer, "%s%%.%dg\n", _prompt ? _prompt : DEFAULT_PROMPT, _precision);
+ if (_format) {
+ free (_format);
+ }
+ _format = strdup (buffer);
+ sprintf (buffer, "%%.%dg", _precision);
+ if (_minform) {
+ free (_minform);
+ }
+ _minform = strdup (buffer);