Re-enable compiling ngsconvert again
Capability to compile ngsconvert is extremely sensitive to changes in associated files as found in makefile.am and may esily be broken again next time. Requires manual tweaking.
This commit is contained in:
parent
9e477d36cd
commit
8abd8069a8
|
|
@ -262,14 +262,19 @@ endif !NO_HELP
|
||||||
## sconvert:
|
## sconvert:
|
||||||
|
|
||||||
ngsconvert_SOURCES = ngsconvert.c
|
ngsconvert_SOURCES = ngsconvert.c
|
||||||
|
ngsconvert_LDADD = \
|
||||||
ngsconvert_LDADD = \
|
frontend/dvec.lo \
|
||||||
frontend/com_history.lo \
|
frontend/rawfile.lo \
|
||||||
frontend/libfte.la \
|
frontend/typesdef.lo \
|
||||||
frontend/parser/libparser.la \
|
frontend/variable.lo \
|
||||||
maths/misc/libmathmisc.la \
|
frontend/dimens.lo \
|
||||||
misc/libmisc.la
|
frontend/quote.lo \
|
||||||
|
frontend/parser/lexical.lo \
|
||||||
|
frontend/parser/numparse.lo \
|
||||||
|
misc/string.lo \
|
||||||
|
misc/wlist.lo \
|
||||||
|
misc/misc_time.lo \
|
||||||
|
misc/alloc.lo
|
||||||
|
|
||||||
## proc2mod:
|
## proc2mod:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,13 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
|
||||||
#include "ngspice/ftedefs.h"
|
#include "ngspice/ftedefs.h"
|
||||||
#include "ngspice/sim.h"
|
#include "ngspice/sim.h"
|
||||||
#include "ngspice/suffix.h"
|
#include "ngspice/suffix.h"
|
||||||
|
#include "ngspice/compatmode.h"
|
||||||
#include "frontend/display.h"
|
#include "frontend/display.h"
|
||||||
#include "../misc/mktemp.h"
|
#include "../misc/mktemp.h"
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
|
||||||
FILE *cp_in = NULL;
|
FILE *cp_in = NULL;
|
||||||
FILE *cp_out = NULL;
|
FILE *cp_out = NULL;
|
||||||
FILE *cp_err = NULL;
|
FILE *cp_err = NULL;
|
||||||
|
|
@ -31,6 +35,9 @@ bool ft_stricterror = FALSE;
|
||||||
bool ft_parsedb = FALSE;
|
bool ft_parsedb = FALSE;
|
||||||
struct circ *ft_curckt = NULL;
|
struct circ *ft_curckt = NULL;
|
||||||
struct plot *plot_cur = NULL;
|
struct plot *plot_cur = NULL;
|
||||||
|
int cp_maxhistlength = 0;
|
||||||
|
bool cp_no_histsubst = FALSE;
|
||||||
|
struct compat newcompat;
|
||||||
|
|
||||||
char *cp_program = "sconvert";
|
char *cp_program = "sconvert";
|
||||||
|
|
||||||
|
|
@ -45,6 +52,67 @@ char *cp_program = "sconvert";
|
||||||
fprintf(cp_err, "Write error\n"); \
|
fprintf(cp_err, "Write error\n"); \
|
||||||
return; }
|
return; }
|
||||||
|
|
||||||
|
#define TMALLOC(t, n) (t*) tmalloc(sizeof(t) * (size_t)(n))
|
||||||
|
#define TREALLOC(t, p, n) (t*) trealloc(p, sizeof(t) * (size_t)(n))
|
||||||
|
|
||||||
|
|
||||||
|
char *
|
||||||
|
smktemp(char *id)
|
||||||
|
{
|
||||||
|
if (!id)
|
||||||
|
id = "sp";
|
||||||
|
const char* const home = getenv("HOME");
|
||||||
|
if (home) {
|
||||||
|
return tprintf("%s/"TEMPFORMAT, home, id, getpid());
|
||||||
|
}
|
||||||
|
const char* const usr = getenv("USERPROFILE");
|
||||||
|
if (usr) {
|
||||||
|
return tprintf("%s\\"TEMPFORMAT, usr, id, getpid());
|
||||||
|
}
|
||||||
|
return tprintf(TEMPFORMAT, id, getpid());
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
inchar(FILE *fp)
|
||||||
|
{
|
||||||
|
|
||||||
|
#if !defined(__MINGW32__)
|
||||||
|
char c;
|
||||||
|
ssize_t i;
|
||||||
|
|
||||||
|
do
|
||||||
|
i = read(fileno(fp), &c, 1);
|
||||||
|
while (i == -1 && errno == EINTR);
|
||||||
|
|
||||||
|
if (i == 0 || c == '\004')
|
||||||
|
return EOF;
|
||||||
|
|
||||||
|
if (i == -1) {
|
||||||
|
perror("read");
|
||||||
|
return EOF;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int) c;
|
||||||
|
#elif
|
||||||
|
|
||||||
|
return getc(fp);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
input(FILE *fp)
|
||||||
|
{
|
||||||
|
REQUEST request;
|
||||||
|
RESPONSE response;
|
||||||
|
|
||||||
|
request.option = char_option;
|
||||||
|
request.fp = fp;
|
||||||
|
|
||||||
|
Input(&request, &response);
|
||||||
|
|
||||||
|
return (inchar(fp));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Input(REQUEST *request, RESPONSE *response)
|
Input(REQUEST *request, RESPONSE *response)
|
||||||
|
|
@ -74,7 +142,7 @@ fixdate(char *date)
|
||||||
buf[i] = buf[i - 1];
|
buf[i] = buf[i - 1];
|
||||||
buf[8] = ' ';
|
buf[8] = ' ';
|
||||||
buf[18] = '\0';
|
buf[18] = '\0';
|
||||||
return (copy(buf));
|
return (strdup(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -101,11 +169,11 @@ oldread(char *name)
|
||||||
for (i = (int) strlen(buf) - 1; (i > 1) && (buf[i] == ' '); i--)
|
for (i = (int) strlen(buf) - 1; (i > 1) && (buf[i] == ' '); i--)
|
||||||
;
|
;
|
||||||
buf[i + 1] = '\0';
|
buf[i + 1] = '\0';
|
||||||
pl->pl_title = copy(buf);
|
pl->pl_title = strdup(buf);
|
||||||
|
|
||||||
tfread(buf, 1, 16, fp);
|
tfread(buf, 1, 16, fp);
|
||||||
buf[16] = '\0';
|
buf[16] = '\0';
|
||||||
pl->pl_date = copy(fixdate(buf));
|
pl->pl_date = strdup(fixdate(buf));
|
||||||
|
|
||||||
tfread(&nv, sizeof (short), 1, fp);
|
tfread(&nv, sizeof (short), 1, fp);
|
||||||
|
|
||||||
|
|
@ -124,7 +192,7 @@ oldread(char *name)
|
||||||
end = v;
|
end = v;
|
||||||
tfread(buf, 1, 8, fp);
|
tfread(buf, 1, 8, fp);
|
||||||
buf[8] = '\0';
|
buf[8] = '\0';
|
||||||
v->v_name = copy(buf);
|
v->v_name = strdup(buf);
|
||||||
}
|
}
|
||||||
for (v = pl->pl_dvecs; v; v = v->v_next) {
|
for (v = pl->pl_dvecs; v; v = v->v_next) {
|
||||||
tfread(&a, sizeof (short), 1, fp);
|
tfread(&a, sizeof (short), 1, fp);
|
||||||
|
|
@ -151,7 +219,7 @@ oldread(char *name)
|
||||||
}
|
}
|
||||||
tfread(buf, 1, 24, fp);
|
tfread(buf, 1, 24, fp);
|
||||||
buf[24] = '\0';
|
buf[24] = '\0';
|
||||||
pl->pl_name = copy(buf);
|
pl->pl_name = strdup(buf);
|
||||||
/* Now to figure out how many points of data there are left in
|
/* Now to figure out how many points of data there are left in
|
||||||
* the file.
|
* the file.
|
||||||
*/
|
*/
|
||||||
|
|
@ -319,12 +387,6 @@ main(int ac, char **av)
|
||||||
char *infile = NULL;
|
char *infile = NULL;
|
||||||
char *outfile = NULL;
|
char *outfile = NULL;
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
cp_in = stdin;
|
|
||||||
cp_out = stdout;
|
|
||||||
cp_err = stderr;
|
|
||||||
cp_curin = stdin;
|
|
||||||
cp_curout = stdout;
|
|
||||||
cp_curerr = stderr;
|
|
||||||
|
|
||||||
switch (ac) {
|
switch (ac) {
|
||||||
case 5:
|
case 5:
|
||||||
|
|
@ -352,7 +414,7 @@ main(int ac, char **av)
|
||||||
case 1: printf("Input file: ");
|
case 1: printf("Input file: ");
|
||||||
(void) fflush(stdout);
|
(void) fflush(stdout);
|
||||||
(void) fgets(buf, BSIZE_SP, stdin);
|
(void) fgets(buf, BSIZE_SP, stdin);
|
||||||
sf = copy(buf);
|
sf = strdup(buf);
|
||||||
printf("Input type: ");
|
printf("Input type: ");
|
||||||
(void) fflush(stdout);
|
(void) fflush(stdout);
|
||||||
(void) fgets(buf, BSIZE_SP, stdin);
|
(void) fgets(buf, BSIZE_SP, stdin);
|
||||||
|
|
@ -360,7 +422,7 @@ main(int ac, char **av)
|
||||||
printf("Output file: ");
|
printf("Output file: ");
|
||||||
(void) fflush(stdout);
|
(void) fflush(stdout);
|
||||||
(void) fgets(buf, BSIZE_SP, stdin);
|
(void) fgets(buf, BSIZE_SP, stdin);
|
||||||
af = copy(buf);
|
af = strdup(buf);
|
||||||
printf("Output type: ");
|
printf("Output type: ");
|
||||||
(void) fflush(stdout);
|
(void) fflush(stdout);
|
||||||
(void) fgets(buf, BSIZE_SP, stdin);
|
(void) fgets(buf, BSIZE_SP, stdin);
|
||||||
|
|
@ -425,6 +487,7 @@ main(int ac, char **av)
|
||||||
exit(EXIT_NORMAL);
|
exit(EXIT_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void cp_pushcontrol(void) { }
|
void cp_pushcontrol(void) { }
|
||||||
void cp_popcontrol(void) { }
|
void cp_popcontrol(void) { }
|
||||||
void out_init(void) { }
|
void out_init(void) { }
|
||||||
|
|
@ -432,7 +495,7 @@ void cp_doquit(void) { exit(0); }
|
||||||
struct variable *cp_usrvars(void) { return NULL; }
|
struct variable *cp_usrvars(void) { return NULL; }
|
||||||
int cp_evloop(char *s) { NG_IGNORE(s); return (0); }
|
int cp_evloop(char *s) { NG_IGNORE(s); return (0); }
|
||||||
void cp_ccon(bool o) { NG_IGNORE(o); }
|
void cp_ccon(bool o) { NG_IGNORE(o); }
|
||||||
char*if_errstring(int c) { NG_IGNORE(c); return copy("error"); }
|
char*if_errstring(int c) { NG_IGNORE(c); return strdup("error"); }
|
||||||
void out_printf(char *fmt, ...) { NG_IGNORE(fmt); }
|
void out_printf(char *fmt, ...) { NG_IGNORE(fmt); }
|
||||||
void out_send(char *string) { NG_IGNORE(string); }
|
void out_send(char *string) { NG_IGNORE(string); }
|
||||||
struct variable * cp_enqvar(const char *word, int *tbfreed) { NG_IGNORE(word); NG_IGNORE(*tbfreed); return (NULL); }
|
struct variable * cp_enqvar(const char *word, int *tbfreed) { NG_IGNORE(word); NG_IGNORE(*tbfreed); return (NULL); }
|
||||||
|
|
@ -446,5 +509,7 @@ int cp_usrset(struct variable *v, bool i) {
|
||||||
NG_IGNORE(v); return(US_OK); }
|
NG_IGNORE(v); return(US_OK); }
|
||||||
wordlist * cp_doalias(wordlist *wlist) {NG_IGNORE(wlist); return NULL;}
|
wordlist * cp_doalias(wordlist *wlist) {NG_IGNORE(wlist); return NULL;}
|
||||||
|
|
||||||
|
void controlled_exit(int no){exit(no);}
|
||||||
|
|
||||||
int disptype;
|
int disptype;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue