]> granicus.if.org Git - transmission/commitdiff
Add hidden "watch-dir-force-generic" setting handling to daemon
authorMike Gelfand <mikedld@mikedld.com>
Mon, 25 Jan 2016 22:09:49 +0000 (22:09 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Mon, 25 Jan 2016 22:09:49 +0000 (22:09 +0000)
daemon/daemon.c
libtransmission/watchdir-test.c

index 26f1c1d2dbfc12864f94a51bfb7eb91bc79969f6..40ac5a67fbe7f991b5bded62c57f727df6360466 100644 (file)
@@ -69,6 +69,7 @@ static const char *logfileName = NULL;
 static tr_sys_file_t logfile = TR_BAD_SYS_FILE;
 static tr_session * mySession = NULL;
 static tr_quark key_pidfile = 0;
+static tr_quark key_watch_dir_force_generic = 0;
 static struct event_base *ev_base = NULL;
 
 /***
@@ -562,11 +563,15 @@ daemon_start (void * raw_arg,
     if (tr_variantDictFindBool (settings, TR_KEY_watch_dir_enabled, &boolVal) && boolVal)
     {
         const char * dir;
+        bool force_generic;
+
+        if (!tr_variantDictFindBool (settings, key_watch_dir_force_generic, &force_generic))
+          force_generic = false;
 
         if (tr_variantDictFindStr (settings, TR_KEY_watch_dir, &dir, NULL) && dir != NULL && *dir != '\0')
         {
             tr_logAddInfo ("Watching \"%s\" for new .torrent files", dir);
-            if ((watchdir = tr_watchdir_new (dir, &onFileAdded, mySession, ev_base, false)) == NULL)
+            if ((watchdir = tr_watchdir_new (dir, &onFileAdded, mySession, ev_base, force_generic)) == NULL)
                 goto cleanup;
         }
     }
@@ -667,7 +672,8 @@ tr_main (int    argc,
     tr_variant * const settings = &arg.settings;
     const char ** const configDir = &arg.configDir;
 
-    key_pidfile = tr_quark_new ("pidfile",  7);
+    key_pidfile = tr_quark_new ("pidfile", 7);
+    key_watch_dir_force_generic = tr_quark_new ("watch-dir-force-generic", 23);
 
     /* load settings from defaults + config file */
     tr_variantInitDict (settings, 0);
index 8ed8b30bc1997c91a133f6b2594858417fb68b20..8a58a23ae0785c682069f3de83500403e3c320e5 100644 (file)
@@ -97,7 +97,7 @@ create_dir (const char * parent_dir,
   tr_free (path);
 }
 
-tr_watchdir_t
+static tr_watchdir_t
 create_watchdir (const char        * path,
                  tr_watchdir_cb      callback,
                  void              * callback_user_data,