include: Move sarg.c stuff to nsc.h to avoid incomplete enum
authorMarkus Armbruster <armbru@pond.sub.org>
Wed, 30 Dec 2020 16:04:12 +0000 (17:04 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 23 Jan 2021 07:39:13 +0000 (08:39 +0100)
Portability issue: prototypes.h uses enum ns_seltype, defined in
nsc.h.  GCC is fine with that; it supports incomplete enum types as an
extension.  Broken in commit 157ae8ec2 "Clean up superfluous include
of nsc.h in prototypes.h", v4.3.27.  Moving sarg.c stuff to nsc.h
fixes it.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
include/nsc.h
include/prototypes.h

index 3e173929f32b4ee10307dd512857792b3a28f234..554939643f47073b605925641605e01b11b424ad 100644 (file)
@@ -28,7 +28,7 @@
  *
  *  Known contributors to this file:
  *     Dave Pare, 1989
- *     Markus Armbruster, 2004-2016
+ *     Markus Armbruster, 2004-2020
  */
 
 #ifndef NSC_H
@@ -319,6 +319,12 @@ extern void nsc_init(void);
 extern int nxtitem(struct nstr_item *, void *);
 /* src/lib/subs/nxtsct.c */
 extern int nxtsct(struct nstr_sect *, struct sctstr *);
+/* src/lib/subs/sarg.c */
+extern enum ns_seltype sarg_type(char *);
+extern int sarg_xy(char *, coord *, coord *);
+extern int sarg_area(char *, struct range *);
+extern int sarg_range(char *, coord *, coord *, int *);
+extern int sarg_list(char *, int *, int);
 /* src/lib/subs/snxtitem.c */
 extern int snxtitem(struct nstr_item *, int, char *, char *);
 extern void snxtitem_area(struct nstr_item *, int, struct range *);
index 4c444c77e87ac55bb2e5a514dc582255a1ade113..a1d933da48ccffb8ece43ca24db83ef2ad096469 100644 (file)
@@ -566,11 +566,7 @@ extern void rad_map_set(natid, int, int, int, double, int);
 /* retreat.c */
 /* in retreat.h */
 /* sarg.c */
-extern enum ns_seltype sarg_type(char *);
-extern int sarg_xy(char *, coord *, coord *);
-extern int sarg_area(char *, struct range *);
-extern int sarg_range(char *, coord *, coord *, int *);
-extern int sarg_list(char *, int *, int);
+/* in nsc.h */
 /* satmap.c */
 extern void satdisp_sect(struct sctstr *, int);
 extern void satdisp_units(coord, coord);