FreeCalypso > hg > freecalypso-tools
annotate ringtools/fc-ringlist-comp.c @ 995:74024eb17e04
fc-loadtool help: improve language regarding 16 MiB flash chips
In FC project history, 16 MiB flash originally meant Pirelli DP-L10.
Then we got FCDEV3B with the same flash (our own design), but now we are
discovering more Calypso devices that used such large flash, both late
Calypso era (Sony Ericsson K2x0) as well as much earlier ones (FIC FLUID
devices.txt file with 2004 dates, Leonardo+ rev 5). Hence we need to
migrate to more generic or neutral language in associated documentation,
without giving elevated status to specific examples that drove our
early project history.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 03 Dec 2023 21:11:12 +0000 |
parents | f442156d31ad |
children |
rev | line source |
---|---|
874
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This program compiles a list of ringing tone or message alert tone |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * melodies from ASCII source into the binary format (.mls) that will |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * be uploaded into FreeCalypso device FFS and read by the UI layer |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * of FC phone firmwares. |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 */ |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <stdio.h> |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <stdlib.h> |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include <ctype.h> |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #include <string.h> |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 #include <strings.h> |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #define MAX_FFS_PATHNAME 19 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #define MAX_FFS_PREFIX 5 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #define MAX_NAME_FIELD 59 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 struct bin_record { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 char ffs_pathname[MAX_FFS_PATHNAME+1]; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 char ui_name[MAX_NAME_FIELD+1]; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 }; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 char *infname, *outfname; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 FILE *inf, *outf; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 char ffs_prefix[MAX_FFS_PREFIX+2]; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 unsigned ffs_prefix_len; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 char linebuf[256]; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 int lineno; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 set_ffs_prefix(prefix_arg) |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 char *prefix_arg; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 char *cp; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 if (prefix_arg[0] != '/') { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 fprintf(stderr, |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 "error: given FFS prefix does not begin with \'/\'\n"); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 ffs_prefix_len = strlen(prefix_arg); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 if (ffs_prefix_len > MAX_FFS_PREFIX) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 fprintf(stderr, "error: given FFS prefix is too long\n"); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 strcpy(ffs_prefix, prefix_arg); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 cp = ffs_prefix + ffs_prefix_len; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 if (cp[-1] != '/') { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 cp[0] = '/'; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 cp[1] = '\0'; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 ffs_prefix_len++; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 enforce_and_strip_newline() |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 char *cp; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 cp = index(linebuf, '\n'); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 if (!cp) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 fprintf(stderr, "%s line %d: too long or missing newline\n", |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 infname, lineno); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 *cp = '\0'; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 emit_record(fname, uname) |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 char *fname, *uname; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 struct bin_record rec; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 strcpy(rec.ffs_pathname, ffs_prefix); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 strncpy(rec.ffs_pathname + ffs_prefix_len, fname, |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 MAX_FFS_PATHNAME + 1 - ffs_prefix_len); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 strncpy(rec.ui_name, uname, MAX_NAME_FIELD + 1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 fwrite(&rec, sizeof rec, 1, outf); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 process_line() |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 char *cp, *fname, *uname; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 cp = linebuf; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 while (isspace(*cp)) |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 cp++; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 if (*cp == '\0' || *cp == '#') |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 return; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 fname = cp; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 while (*cp && !isspace(*cp)) |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 cp++; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 if (!*cp) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 inv: fprintf(stderr, "%s line %d: invalid syntax\n", |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 infname, lineno); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 *cp++ = '\0'; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 while (isspace(*cp)) |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 cp++; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 if (*cp == '\0' || *cp == '#') |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 goto inv; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 uname = cp; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 if (strlen(fname) + ffs_prefix_len > MAX_FFS_PATHNAME) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 fprintf(stderr, "%s line %d: melody filename exceeds limit\n", |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 infname, lineno); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 if (strlen(uname) > MAX_NAME_FIELD) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 fprintf(stderr, "%s line %d: melody UI name exceeds limit\n", |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 infname, lineno); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 emit_record(fname, uname); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 main(argc, argv) |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 char **argv; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 if (argc != 4) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 fprintf(stderr, "usage: %s src-file bin-file ffs-prefix\n", |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 argv[0]); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 if (strcmp(argv[1], "-")) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 infname = argv[1]; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 inf = fopen(infname, "r"); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 if (!inf) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 perror(infname); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 } else { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 infname = "stdin"; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 inf = stdin; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 set_ffs_prefix(argv[3]); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 outfname = argv[2]; |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 outf = fopen(outfname, "w"); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 if (!outf) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 perror(outfname); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 exit(1); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 for (lineno = 1; fgets(linebuf, sizeof linebuf, inf); lineno++) { |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 enforce_and_strip_newline(); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 process_line(); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 } |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 exit(0); |
f442156d31ad
ringtools: fc-ringlist-comp program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 } |