]> source.dussan.org Git - tigervnc.git/commitdiff
Move base directory creation to helper function
authorPierre Ossman <ossman@cendio.se>
Thu, 29 Aug 2024 15:16:43 +0000 (17:16 +0200)
committerLinn Mattsson <linma@cendio.se>
Tue, 22 Oct 2024 10:41:33 +0000 (12:41 +0200)
This is non-trivial now, so let's modularize this a bit.

(cherry picked from commit 0c61c069bab38d14b93ad9d71b6509427a5611a8)

vncviewer/vncviewer.cxx

index 366327faf8a48530f7b08487f81f7798d396a6ae..d9f85f5a3a99514f2c8aa4c3a3683bb5984b9289 100644 (file)
@@ -528,6 +528,36 @@ migrateDeprecatedOptions()
   }
 }
 
+static void
+create_base_dirs()
+{
+  char *confdir = strdup(os::getvncconfigdir());
+#ifndef WIN32
+  char *dotdir = strrchr(confdir, '.');
+  if (dotdir != NULL && strcmp(dotdir, ".vnc") == 0)
+    vlog.info(_("~/.vnc is deprecated, please consult 'man vncviewer' for paths to migrate to."));
+#else
+  char *vncdir = strrchr(confdir, '\\');
+  if (vncdir != NULL && strcmp(vncdir, "vnc") == 0)
+    vlog.info(_("%%APPDATA%%\\vnc is deprecated, please switch to the %%APPDATA%%\\TigerVNC location."));
+#endif
+
+  if (os::mkdir_p(os::getvncconfigdir(), 0755) == -1) {
+    if (errno != EEXIST)
+      vlog.error(_("Could not create VNC config directory: %s"), strerror(errno));
+  }
+
+  if (os::mkdir_p(os::getvncdatadir(), 0755) == -1) {
+    if (errno != EEXIST)
+      vlog.error(_("Could not create VNC data directory: %s"), strerror(errno));
+  }
+
+  if (os::mkdir_p(os::getvncstatedir(), 0755) == -1) {
+    if (errno != EEXIST)
+      vlog.error(_("Could not create VNC state directory: %s"), strerror(errno));
+  }
+}
+
 #ifndef WIN32
 static int
 interpretViaParam(char *remoteHost, int *remotePort, int localPort)
@@ -714,31 +744,7 @@ int main(int argc, char** argv)
 
   migrateDeprecatedOptions();
 
-  char *confdir = strdup(os::getvncconfigdir());
-#ifndef WIN32
-  char *dotdir = strrchr(confdir, '.');
-  if (dotdir != NULL && strcmp(dotdir, ".vnc") == 0)
-    vlog.info(_("~/.vnc is deprecated, please consult 'man vncviewer' for paths to migrate to."));
-#else
-  char *vncdir = strrchr(confdir, '\\');
-  if (vncdir != NULL && strcmp(vncdir, "vnc") == 0)
-    vlog.info(_("%%APPDATA%%\\vnc is deprecated, please switch to the %%APPDATA%%\\TigerVNC location."));
-#endif
-
-  if (os::mkdir_p(os::getvncconfigdir(), 0755) == -1) {
-    if (errno != EEXIST)
-      vlog.error(_("Could not create VNC config directory: %s"), strerror(errno));
-  }
-
-  if (os::mkdir_p(os::getvncdatadir(), 0755) == -1) {
-    if (errno != EEXIST)
-      vlog.error(_("Could not create VNC data directory: %s"), strerror(errno));
-  }
-
-  if (os::mkdir_p(os::getvncstatedir(), 0755) == -1) {
-    if (errno != EEXIST)
-      vlog.error(_("Could not create VNC state directory: %s"), strerror(errno));
-  }
+  create_base_dirs();
 
   CSecurity::upg = &dlg;
 #if defined(HAVE_GNUTLS) || defined(HAVE_NETTLE)