Do not use sprintf(3) %n.

Index: editor/options.c
--- editor/options.c.orig
+++ editor/options.c
@@ -405,22 +405,22 @@ int save_setup (const char *file)
 
     for (i = 0; string_options[i].name; i++) {
 	if (*string_options[i].value) {
-	    sprintf (p, "%s = %s\n%n", string_options[i].name, *string_options[i].value, &r);
+	    r = sprintf (p, "%s = %s\n", string_options[i].name, *string_options[i].value);
 	    p += r;
 	}
     }
     for (i = 0; integer_options[i].name; i++) {
 	if (integer_options[i].type == TYPE_HIDDEN_HEX_VALUE)
-	    sprintf (p, "%s = 0x%X\n%n", integer_options[i].name, *integer_options[i].value, &r);
+	    r = sprintf (p, "%s = 0x%X\n", integer_options[i].name, *integer_options[i].value);
 	else
-	    sprintf (p, "%s = %d\n%n", integer_options[i].name, *integer_options[i].value, &r);
+	    r = sprintf (p, "%s = %d\n", integer_options[i].name, *integer_options[i].value);
 	p += r;
     }
     for (i = 0; color_options[i].name; i++) {
 	if (color_options[i].cname)
-	    sprintf (p, "%s = %s\n%n", color_options[i].name, color_options[i].cname, &r);
+	    r = sprintf (p, "%s = %s\n", color_options[i].name, color_options[i].cname);
 	else
-	    sprintf (p, "%s = %d\n%n", color_options[i].name, *color_options[i].value, &r);
+	    r = sprintf (p, "%s = %d\n", color_options[i].name, *color_options[i].value);
 	p += r;
     }
     *p = 0;
