]> git.pond.sub.org Git - empserver/blobdiff - src/lib/subs/plnsub.c
New get_planes(), factored out of plane flying commands
[empserver] / src / lib / subs / plnsub.c
index 73f2d7973fc7c88c38e4404005e42b64b581780e..ae9afdfdacb53791b283c3584ead2205ba82358c 100644 (file)
 static int pln_equip(struct plist *, struct ichrstr *, int, char);
 static int fit_plane_on_ship(struct plnstr *, struct shpstr *);
 
+/*
+ * Get planes and escorts argument.
+ * Read planes into *NI_BOMB, and (optional) escorts into *NI_ESC.
+ * If INPUT_BOMB is not empty, use it, else prompt for more input.
+ * Same for INPUT_ESC.
+ * If we got a plane argument, initialize *NI_BOMB and *NI_ESC, and
+ * return 0.
+ * Else return -1 (*NI_BOMB and *NI_ESC may be modified).
+ */
+int
+get_planes(struct nstr_item *ni_bomb, struct nstr_item *ni_esc,
+          char *input_bomb, char *input_esc)
+{
+    char buf[1024];
+
+    if (!snxtitem(ni_bomb, EF_PLANE, input_bomb))
+       return -1;
+    if (!snxtitem(ni_esc, EF_PLANE,
+                 getstarg(input_esc, "escort(s)? ", buf)))
+       pr("No escorts...\n");
+    return 0;
+}
+
 /*
  * Get assembly point argument.
  * If INPUT is not empty, use it, else prompt for more input using PROMPT.