changeset 777:15f0c8e11338

Increase line buffer size in songlength database reader. Fixes problems with extremely long entries.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 06 Nov 2012 12:11:32 +0200
parents bb7b3ded919a
children 54a7afbf251e
files src/xmms-sid.h src/xs_length.c
diffstat 2 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/xmms-sid.h	Tue Nov 06 11:59:24 2012 +0200
+++ b/src/xmms-sid.h	Tue Nov 06 12:11:32 2012 +0200
@@ -54,7 +54,9 @@
 #undef HAVE_HARDSID_BUILDER
 
 /* Size for some small buffers (always static variables) */
-#define XS_BUF_SIZE            (1024)
+#define XS_BUF_SIZE            (512)
+
+#define XS_BUF2_SIZE           (4096)
 
 /* If defined, some dynamically allocated temp. buffers are used.
  * Static (#undef) might give slight performance gain,
--- a/src/xs_length.c	Tue Nov 06 11:59:24 2012 +0200
+++ b/src/xs_length.c	Tue Nov 06 12:11:32 2012 +0200
@@ -194,7 +194,7 @@
 gint xs_sldb_read(XSSLDB *db, const gchar *dbFilename)
 {
     FILE *inFile;
-    gchar inLine[XS_BUF_SIZE];
+    gchar inLine[XS_BUF2_SIZE];
     size_t lineNum;
     XSSLDBNode *tmnode;
     assert(db);
@@ -208,7 +208,7 @@
     /* Read and parse the data */
     lineNum = 0;
 
-    while (fgets(inLine, XS_BUF_SIZE, inFile) != NULL) {
+    while (fgets(inLine, XS_BUF2_SIZE, inFile) != NULL) {
         size_t linePos = 0;
         lineNum++;