chiark / gitweb /
userinfo/edituser implementation
[disorder] / server / rescan.c
index b9be72d9a482da953ef0cffb1955a470ccec4f0f..dab56df279707c730d79cf7f5a059e6b251c8155 100644 (file)
@@ -47,6 +47,7 @@
 #include "wstat.h"
 #include "kvp.h"
 #include "printf.h"
+#include "rights.h"
 #include "trackdb.h"
 #include "trackdb-int.h"
 #include "trackname.h"
@@ -84,7 +85,7 @@ static void help(void) {
 
 /* display version number and terminate */
 static void version(void) {
-  xprintf("disorder-rescan version %s\n", disorder_version_string);
+  xprintf("%s", disorder_version_string);
   xfclose(stdout);
   exit(0);
 }
@@ -152,10 +153,12 @@ static void rescan_collection(const struct collection *c) {
       error(0, "cannot convert track path to UTF-8: %s", path);
       continue;
     }
-    /* We use NFC track names */
-    if(!(track = utf8_compose_canon(track, strlen(track), 0))) {
-      error(0, "cannot convert track path to NFC: %s", path);
-      continue;
+    if(config->dbversion > 1) {
+      /* We use NFC track names */
+      if(!(track = utf8_compose_canon(track, strlen(track), 0))) {
+        error(0, "cannot convert track path to NFC: %s", path);
+        continue;
+      }
     }
     D(("track %s", track));
     /* only tracks with a known player are admitted */
@@ -359,8 +362,8 @@ int main(int argc, char **argv) {
   xsigaction(SIGTERM, &sa, 0);
   xsigaction(SIGINT, &sa, 0);
   info("started");
-  trackdb_init(0);
-  trackdb_open();
+  trackdb_init(TRACKDB_NO_RECOVER);
+  trackdb_open(TRACKDB_NO_UPGRADE);
   if(optind == argc) {
     /* Rescan all collections */
     do_all(rescan_collection);