comparison mcabber/src/commands.c @ 1202:ede6c7aa59b0

Handle "~" in /source paths
author Mikael Berthe <mikael@lilotux.net>
date Fri, 27 Apr 2007 23:46:15 +0200
parents 6f602d3270a4
children 2de8f8ba1f34
comparison
equal deleted inserted replaced
1201:c31b1c41929c 1202:ede6c7aa59b0
2835 } 2835 }
2836 2836
2837 static void do_source(char *arg) 2837 static void do_source(char *arg)
2838 { 2838 {
2839 static int recur_level; 2839 static int recur_level;
2840 gchar *filename; 2840 gchar *filename, *expfname;
2841 if (!*arg) { 2841 if (!*arg) {
2842 scr_LogPrint(LPRINT_NORMAL, "Missing filename."); 2842 scr_LogPrint(LPRINT_NORMAL, "Missing filename.");
2843 return; 2843 return;
2844 } 2844 }
2845 if (recur_level > 20) { 2845 if (recur_level > 20) {
2846 scr_LogPrint(LPRINT_LOGNORM, "** Too many source commands!"); 2846 scr_LogPrint(LPRINT_LOGNORM, "** Too many source commands!");
2847 return; 2847 return;
2848 } 2848 }
2849 filename = g_strdup(arg); 2849 filename = g_strdup(arg);
2850 strip_arg_special_chars(filename); 2850 strip_arg_special_chars(filename);
2851 expfname = expand_filename(filename);
2851 recur_level++; 2852 recur_level++;
2852 cfg_read_file(filename, FALSE); 2853 cfg_read_file(expfname, FALSE);
2853 recur_level--; 2854 recur_level--;
2854 g_free(filename); 2855 g_free(filename);
2856 g_free(expfname);
2855 } 2857 }
2856 2858
2857 static void do_connect(char *arg) 2859 static void do_connect(char *arg)
2858 { 2860 {
2859 mcabber_connect(); 2861 mcabber_connect();