@@ -91,10 +91,12 @@ int lcpvret = -1, lpcafret = -1; int invalid_section = 0, ignore_section = 0; int local_lc_errline; int retval = 0; lc_err_t save_lc_errno = LC_ERR_NONE; + char *local_lc_errfile; + int local_lc_errline; if (pathprefix != NULL) { /* Copy the prefix, if specified. */ strncpy(qualifbuf, pathprefix, sizeof(qualifbuf) - 1); } @@ -336,10 +338,12 @@ if (lcpvret < 0) { if (lc_errno == LC_ERR_NONE) { #ifdef DEBUG fprintf(stderr, "Invalid command: \"%s\"\n", cmd); #endif + lc_errfile = local_lc_errfile; + lc_errline = local_lc_errline; lc_errno = LC_ERR_INVCMD; } else { #ifdef DEBUG fprintf(stderr, "Error processing command (command was valid, but an error occured, errno was set)\n"); #endif