mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2024-11-23 09:23:10 +02:00
sch2fig/: new option -t template.fig to merge template file
This commit is contained in:
parent
427e4d7d09
commit
09d436175a
@ -406,7 +406,7 @@ void fig_text(int x, int y, const char *s, unsigned size,
|
|||||||
/* ----- FIG file header --------------------------------------------------- */
|
/* ----- FIG file header --------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
void fig_init(void)
|
static void fig_header(void)
|
||||||
{
|
{
|
||||||
printf("#FIG 3.2\n");
|
printf("#FIG 3.2\n");
|
||||||
printf("Landscape\n");
|
printf("Landscape\n");
|
||||||
@ -418,3 +418,24 @@ void fig_init(void)
|
|||||||
printf("-2\n");
|
printf("-2\n");
|
||||||
printf("1200 2\n");
|
printf("1200 2\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void fig_init(const char *template)
|
||||||
|
{
|
||||||
|
FILE *file;
|
||||||
|
char buf[1000];
|
||||||
|
|
||||||
|
if (!template) {
|
||||||
|
fig_header();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
file = fopen(template, "r");
|
||||||
|
if (!file) {
|
||||||
|
perror(template);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
while (fgets(buf, sizeof(buf), file))
|
||||||
|
printf("%s", buf);
|
||||||
|
fclose(file);
|
||||||
|
}
|
||||||
|
@ -53,6 +53,6 @@ void fig_text(int x, int y, const char *s, unsigned size,
|
|||||||
|
|
||||||
/* inititalization */
|
/* inititalization */
|
||||||
|
|
||||||
void fig_init(void);
|
void fig_init(const char *template);
|
||||||
|
|
||||||
#endif /* !FIG_H */
|
#endif /* !FIG_H */
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "fig.h"
|
#include "fig.h"
|
||||||
@ -57,20 +58,32 @@ static void read_file(const char *name, void *ctx,
|
|||||||
|
|
||||||
static void usage(const char *name)
|
static void usage(const char *name)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "usage: %s [file.lib ...] file.sch\n", name);
|
fprintf(stderr,
|
||||||
|
"usage: %s [-t template.fig] [file.lib ...] file.sch\n", name);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
const char *template = NULL;
|
||||||
|
char c;
|
||||||
int arg;
|
int arg;
|
||||||
|
|
||||||
if (argc < 2)
|
while ((c = getopt(argc, argv, "t:")) != EOF)
|
||||||
|
switch (c) {
|
||||||
|
case 't':
|
||||||
|
template = optarg;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
usage(*argv);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (argc - optind < 1)
|
||||||
usage(*argv);
|
usage(*argv);
|
||||||
|
|
||||||
fig_init();
|
fig_init(template);
|
||||||
for (arg = 1; arg != argc; arg++) {
|
for (arg = optind; arg != argc; arg++) {
|
||||||
if (arg == argc - 1) {
|
if (arg == argc - 1) {
|
||||||
struct sch_ctx ctx;
|
struct sch_ctx ctx;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user