chiark / gitweb /
Move fgetline out into misc.c.
authorSimon Tatham <anakin@pobox.com>
Sun, 22 Apr 2018 12:58:27 +0000 (13:58 +0100)
committerSimon Tatham <anakin@pobox.com>
Sun, 22 Apr 2018 15:35:50 +0000 (16:35 +0100)
I'm about to want to use it outside the GTK front end.

gtk.c
misc.c
puzzles.h

diff --git a/gtk.c b/gtk.c
index 3078e517baa4c2b083ba0af32637bdf49f1a9bf3..7deb753744dc02d1aa8f5fbde42bd362cc394fad 100644 (file)
--- a/gtk.c
+++ b/gtk.c
@@ -2886,25 +2886,6 @@ static frontend *new_window(char *arg, int argtype, char **error)
     return fe;
 }
 
-char *fgetline(FILE *fp)
-{
-    char *ret = snewn(512, char);
-    int size = 512, len = 0;
-    while (fgets(ret + len, size - len, fp)) {
-       len += strlen(ret + len);
-       if (ret[len-1] == '\n')
-           break;                     /* got a newline, we're done */
-       size = len + 512;
-       ret = sresize(ret, size, char);
-    }
-    if (len == 0) {                   /* first fgets returned NULL */
-       sfree(ret);
-       return NULL;
-    }
-    ret[len] = '\0';
-    return ret;
-}
-
 static void list_presets_from_menu(struct preset_menu *menu)
 {
     int i;
diff --git a/misc.c b/misc.c
index b6a190bef1ef9884ff655ebd6017d0d5088b4139..852f86902397fa739c6d0d9c35c3bda45b43d468 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -169,6 +169,25 @@ unsigned char *hex2bin(const char *in, int outlen)
     return ret;
 }
 
+char *fgetline(FILE *fp)
+{
+    char *ret = snewn(512, char);
+    int size = 512, len = 0;
+    while (fgets(ret + len, size - len, fp)) {
+       len += strlen(ret + len);
+       if (ret[len-1] == '\n')
+           break;                     /* got a newline, we're done */
+       size = len + 512;
+       ret = sresize(ret, size, char);
+    }
+    if (len == 0) {                   /* first fgets returned NULL */
+       sfree(ret);
+       return NULL;
+    }
+    ret[len] = '\0';
+    return ret;
+}
+
 void game_mkhighlight_specific(frontend *fe, float *ret,
                               int background, int highlight, int lowlight)
 {
index 40f5bcbce3a45bb2172ff8d5de43b42fb958a8e0..6b6e6b39c60cb6240c3c20595f67936fa14a4dca 100644 (file)
--- a/puzzles.h
+++ b/puzzles.h
@@ -357,6 +357,7 @@ char *dupstr(const char *s);
  */
 void free_cfg(config_item *cfg);
 void obfuscate_bitmap(unsigned char *bmp, int bits, int decode);
+char *fgetline(FILE *fp);
 
 /* allocates output each time. len is always in bytes of binary data.
  * May assert (or just go wrong) if lengths are unchecked. */