-fixing #2578
[oweals/gnunet.git] / src / fs / gnunet-auto-share.c
index ec90ae2d55979d261f4183b05837a35dd5b40066..1a6e74b8cf8b3a8f8fef450e7b48ca9fc6436538 100644 (file)
@@ -283,6 +283,14 @@ save_state ()
   n = GNUNET_CONTAINER_multihashmap_size (work_finished);
   fn = get_state_file ();
   wh = GNUNET_BIO_write_open (fn);
+  if (NULL == wh)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+               _("Failed to save state to file %s\n"),
+               fn);
+    GNUNET_free (fn);
+    return;
+  }
   if (GNUNET_OK !=
       GNUNET_BIO_write_int32 (wh, n))
   {
@@ -480,7 +488,7 @@ work (void *cls,
              _("Publishing `%s'\n"),
              wi->filename);
   publish_proc = GNUNET_OS_start_process_vap (GNUNET_YES,
-                                             NULL, NULL,
+                                              0, NULL, NULL,
                                              "gnunet-publish",
                                              argv);
   if (NULL == publish_proc)
@@ -571,8 +579,10 @@ add_file (void *cls,
 
   if (GNUNET_YES == do_shutdown)
     return GNUNET_SYSERR;
-  if (NULL != strstr (filename,
-                     DIR_SEPARATOR_STR ".auto-share"))
+  if ( (NULL != strstr (filename,
+                     "/.auto-share")) ||
+       (NULL != strstr (filename,
+                       "\\.auto-share")) )
     return GNUNET_OK; /* skip internal file */
   GNUNET_CRYPTO_hash (filename,
                      strlen (filename),