Some more platform unification
This commit is contained in:
parent
5c9283fc68
commit
d0b5d53f92
@ -310,12 +310,14 @@ get_reg_str (const char *sub, const char *name, char *out, DWORD len)
|
|||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
char *
|
char *
|
||||||
get_xdir (void)
|
get_xdir (void)
|
||||||
{
|
{
|
||||||
if (!xdir)
|
if (!xdir)
|
||||||
{
|
{
|
||||||
|
#ifdef WIN32
|
||||||
char out[256];
|
char out[256];
|
||||||
|
|
||||||
if (portable_mode () || !get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "AppData", out, sizeof (out)))
|
if (portable_mode () || !get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "AppData", out, sizeof (out)))
|
||||||
@ -326,24 +328,14 @@ get_xdir (void)
|
|||||||
{
|
{
|
||||||
xdir = g_strdup_printf ("%s\\" "HexChat", out);
|
xdir = g_strdup_printf ("%s\\" "HexChat", out);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return xdir;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
char *
|
|
||||||
get_xdir (void)
|
|
||||||
{
|
|
||||||
if (!xdir)
|
|
||||||
xdir = g_strdup_printf ("%s/.config/" HEXCHAT_DIR, g_get_home_dir ());
|
xdir = g_strdup_printf ("%s/.config/" HEXCHAT_DIR, g_get_home_dir ());
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
return xdir;
|
return xdir;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* !WIN32 */
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
check_prefs_dir (void)
|
check_prefs_dir (void)
|
||||||
{
|
{
|
||||||
|
@ -132,7 +132,7 @@ static const GOptionEntry gopt_entries[] =
|
|||||||
{"no-auto", 'a', 0, G_OPTION_ARG_NONE, &arg_dont_autoconnect, N_("Don't auto connect to servers"), NULL},
|
{"no-auto", 'a', 0, G_OPTION_ARG_NONE, &arg_dont_autoconnect, N_("Don't auto connect to servers"), NULL},
|
||||||
{"cfgdir", 'd', 0, G_OPTION_ARG_STRING, &arg_cfgdir, N_("Use a different config directory"), "PATH"},
|
{"cfgdir", 'd', 0, G_OPTION_ARG_STRING, &arg_cfgdir, N_("Use a different config directory"), "PATH"},
|
||||||
{"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL},
|
{"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL},
|
||||||
{"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin auto-load directory"), NULL},
|
{"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin/script auto-load directory"), NULL},
|
||||||
{"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL},
|
{"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL},
|
||||||
{"url", 0, 0, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel URL"), "URL"},
|
{"url", 0, 0, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel URL"), "URL"},
|
||||||
#ifndef WIN32 /* uses DBUS */
|
#ifndef WIN32 /* uses DBUS */
|
||||||
@ -223,53 +223,31 @@ fe_args (int argc, char *argv[])
|
|||||||
|
|
||||||
if (arg_show_version)
|
if (arg_show_version)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
|
||||||
buffer = g_strdup_printf (DISPLAY_NAME " " PACKAGE_VERSION "\n");
|
buffer = g_strdup_printf (DISPLAY_NAME " " PACKAGE_VERSION "\n");
|
||||||
gtk_init (&argc, &argv);
|
gtk_init (&argc, &argv);
|
||||||
create_msg_dialog ("Version Information", buffer);
|
create_msg_dialog ("Version Information", buffer);
|
||||||
g_free (buffer);
|
g_free (buffer);
|
||||||
#else
|
|
||||||
printf (PACKAGE_TARNAME" "PACKAGE_VERSION"\n");
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg_show_autoload)
|
if (arg_show_autoload)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
buffer = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "addons\n", get_xdir ());
|
||||||
/* see the chdir() below */
|
|
||||||
char *sl, *exe = strdup (argv[0]);
|
|
||||||
sl = strrchr (exe, '\\');
|
|
||||||
if (sl)
|
|
||||||
{
|
|
||||||
*sl = 0;
|
|
||||||
buffer = g_strdup_printf ("%s\\plugins\n", exe);
|
|
||||||
gtk_init (&argc, &argv);
|
gtk_init (&argc, &argv);
|
||||||
create_msg_dialog ("Plugin Auto-load Directory", buffer);
|
create_msg_dialog ("Plugin/Script Auto-load Directory", buffer);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buffer = g_strdup(".\\plugins\n");
|
|
||||||
gtk_init (&argc, &argv);
|
|
||||||
create_msg_dialog ("Plugin Auto-load Directory", buffer);
|
|
||||||
}
|
|
||||||
g_free (buffer);
|
g_free (buffer);
|
||||||
#else
|
|
||||||
printf ("%s\n", HEXCHATLIBDIR"/plugins");
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg_show_config)
|
if (arg_show_config)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
buffer = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "\n", get_xdir ());
|
||||||
buffer = g_strdup_printf ("%s\n", get_xdir ());
|
|
||||||
gtk_init (&argc, &argv);
|
gtk_init (&argc, &argv);
|
||||||
create_msg_dialog ("User Config Directory", buffer);
|
create_msg_dialog ("User Config Directory", buffer);
|
||||||
g_free (buffer);
|
g_free (buffer);
|
||||||
#else
|
|
||||||
printf ("%s\n", get_xdir ());
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,7 +260,7 @@ fe_args (int argc, char *argv[])
|
|||||||
char *tmp = strdup (argv[0]);
|
char *tmp = strdup (argv[0]);
|
||||||
char *sl;
|
char *sl;
|
||||||
|
|
||||||
sl = strrchr (tmp, '\\');
|
sl = strrchr (tmp, G_DIR_SEPARATOR);
|
||||||
if (sl)
|
if (sl)
|
||||||
{
|
{
|
||||||
*sl = 0;
|
*sl = 0;
|
||||||
@ -292,18 +270,6 @@ fe_args (int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (arg_cfgdir)
|
|
||||||
{
|
|
||||||
if (xdir)
|
|
||||||
g_free (xdir);
|
|
||||||
xdir = strdup (arg_cfgdir);
|
|
||||||
if (xdir[strlen (xdir) - 1] == '/')
|
|
||||||
{
|
|
||||||
xdir[strlen (xdir) - 1] = 0;
|
|
||||||
}
|
|
||||||
g_free (arg_cfgdir);
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_init (&argc, &argv);
|
gtk_init (&argc, &argv);
|
||||||
|
|
||||||
#ifdef USE_XLIB
|
#ifdef USE_XLIB
|
||||||
|
@ -457,7 +457,7 @@ static const GOptionEntry gopt_entries[] =
|
|||||||
{"no-auto", 'a', 0, G_OPTION_ARG_NONE, &arg_dont_autoconnect, N_("Don't auto connect to servers"), NULL},
|
{"no-auto", 'a', 0, G_OPTION_ARG_NONE, &arg_dont_autoconnect, N_("Don't auto connect to servers"), NULL},
|
||||||
{"cfgdir", 'd', 0, G_OPTION_ARG_STRING, &arg_cfgdir, N_("Use a different config directory"), "PATH"},
|
{"cfgdir", 'd', 0, G_OPTION_ARG_STRING, &arg_cfgdir, N_("Use a different config directory"), "PATH"},
|
||||||
{"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL},
|
{"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL},
|
||||||
{"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin auto-load directory"), NULL},
|
{"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin/script auto-load directory"), NULL},
|
||||||
{"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL},
|
{"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL},
|
||||||
{"url", 0, 0, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel URL"), "URL"},
|
{"url", 0, 0, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel URL"), "URL"},
|
||||||
{"version", 'v', 0, G_OPTION_ARG_NONE, &arg_show_version, N_("Show version information"), NULL},
|
{"version", 'v', 0, G_OPTION_ARG_NONE, &arg_show_version, N_("Show version information"), NULL},
|
||||||
|
Loading…
Reference in New Issue
Block a user