Deleted Added
full compact
config.y (72841) config.y (72844)
1%union {
2 char *str;
3 int val;
4 struct file_list *file;
5}
6
7%token ARCH
8%token COMMA

--- 46 unchanged lines hidden (view full) ---

55 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
56 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
57 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
58 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
59 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
60 * SUCH DAMAGE.
61 *
62 * @(#)config.y 8.1 (Berkeley) 6/6/93
1%union {
2 char *str;
3 int val;
4 struct file_list *file;
5}
6
7%token ARCH
8%token COMMA

--- 46 unchanged lines hidden (view full) ---

55 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
56 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
57 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
58 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
59 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
60 * SUCH DAMAGE.
61 *
62 * @(#)config.y 8.1 (Berkeley) 6/6/93
63 * $FreeBSD: head/usr.sbin/config/config.y 72841 2001-02-22 03:40:50Z peter $
63 * $FreeBSD: head/usr.sbin/config/config.y 72844 2001-02-22 04:00:29Z peter $
64 */
65
66#include <ctype.h>
67#include <err.h>
68#include <stdio.h>
69#include <string.h>
70
71#include "config.h"

--- 81 unchanged lines hidden (view full) ---

153 CONFIG System_id System_parameter_list
154 = { errx(1, "line %d: root/dump/swap specifications obsolete", yyline);}
155 |
156 CONFIG System_id
157 ;
158
159System_id:
160 Save_id
64 */
65
66#include <ctype.h>
67#include <err.h>
68#include <stdio.h>
69#include <string.h>
70
71#include "config.h"

--- 81 unchanged lines hidden (view full) ---

153 CONFIG System_id System_parameter_list
154 = { errx(1, "line %d: root/dump/swap specifications obsolete", yyline);}
155 |
156 CONFIG System_id
157 ;
158
159System_id:
160 Save_id
161 = {
162 newopt(ns("KERNEL"), $1);
163 };
161 = { newopt(&mkopt, ns("KERNEL"), $1); };
164
165System_parameter_list:
166 System_parameter_list ID
167 | ID
168 ;
169
170Opt_list:
171 Opt_list COMMA Option
172 |
173 Option
174 ;
175
176Option:
177 Save_id
178 = {
179 char *s;
180
162
163System_parameter_list:
164 System_parameter_list ID
165 | ID
166 ;
167
168Opt_list:
169 Opt_list COMMA Option
170 |
171 Option
172 ;
173
174Option:
175 Save_id
176 = {
177 char *s;
178
181 newopt($1, NULL);
179 newopt(&opt, $1, NULL);
182 if ((s = strchr($1, '=')))
183 errx(1, "line %d: The `=' in options should not be quoted", yyline);
184 } |
185 Save_id EQUALS Opt_value
186 = {
180 if ((s = strchr($1, '=')))
181 errx(1, "line %d: The `=' in options should not be quoted", yyline);
182 } |
183 Save_id EQUALS Opt_value
184 = {
187 newopt($1, $3);
185 newopt(&opt, $1, $3);
188 } ;
189
190Opt_value:
191 ID
192 = { $$ = $1; } |
193 NUMBER
194 = {
195 char buf[80];

--- 10 unchanged lines hidden (view full) ---

206Mkopt_list:
207 Mkopt_list COMMA Mkoption
208 |
209 Mkoption
210 ;
211
212Mkoption:
213 Save_id EQUALS Opt_value
186 } ;
187
188Opt_value:
189 ID
190 = { $$ = $1; } |
191 NUMBER
192 = {
193 char buf[80];

--- 10 unchanged lines hidden (view full) ---

204Mkopt_list:
205 Mkopt_list COMMA Mkoption
206 |
207 Mkoption
208 ;
209
210Mkoption:
211 Save_id EQUALS Opt_value
214 = {
215 struct opt *op = (struct opt *)malloc(sizeof (struct opt));
216 memset(op, 0, sizeof(*op));
217 op->op_name = $1;
218 op->op_value = $3;
219 op->op_next = mkopt;
220 mkopt = op;
221 } ;
212 = { newopt(&mkopt, $1, $3); } ;
222
223Dev:
224 ID
225 = { $$ = $1; }
226 ;
227
228Device_spec:
229 DEVICE Dev
230 = {
213
214Dev:
215 ID
216 = { $$ = $1; }
217 ;
218
219Device_spec:
220 DEVICE Dev
221 = {
231 newopt(devopt($2), ns("1"));
222 newopt(&opt, devopt($2), ns("1"));
232 /* and the device part */
233 newdev($2, UNKNOWN);
234 } |
235 DEVICE Dev NUMBER
236 = {
223 /* and the device part */
224 newdev($2, UNKNOWN);
225 } |
226 DEVICE Dev NUMBER
227 = {
237 newopt(devopt($2), ns("1"));
228 newopt(&opt, devopt($2), ns("1"));
238 /* and the device part */
239 newdev($2, $3);
240 if ($3 == 0)
241 errx(1, "line %d: devices with zero units are not likely to be correct", yyline);
242 } ;
243
244%%
245

--- 20 unchanged lines hidden (view full) ---

266 if (curp == 0)
267 dtab = np;
268 else
269 curp->d_next = np;
270 curp = np;
271}
272
273static void
229 /* and the device part */
230 newdev($2, $3);
231 if ($3 == 0)
232 errx(1, "line %d: devices with zero units are not likely to be correct", yyline);
233 } ;
234
235%%
236

--- 20 unchanged lines hidden (view full) ---

257 if (curp == 0)
258 dtab = np;
259 else
260 curp->d_next = np;
261 curp = np;
262}
263
264static void
274newopt(char *name, char *value)
265newopt(struct opt **list, char *name, char *value)
275{
276 struct opt *op;
277
278 op = (struct opt *)malloc(sizeof (struct opt));
279 memset(op, 0, sizeof(*op));
280 op->op_name = name;
281 op->op_ownfile = 0;
282 op->op_value = value;
266{
267 struct opt *op;
268
269 op = (struct opt *)malloc(sizeof (struct opt));
270 memset(op, 0, sizeof(*op));
271 op->op_name = name;
272 op->op_ownfile = 0;
273 op->op_value = value;
283 op->op_next = opt;
284 opt = op;
274 op->op_next = *list;
275 *list = op;
285}
276}