diff mcabber/src/main.c @ 169:0ed6099b5a54

[/trunk] Changeset 181 by mikael * Default logging directory is now "$HOME/.mcabber/histo/" * Default configuration file is now "$HOME/.mcabber/mcabberrc" (~/.mcabberrc should still work) * Switch parsecfg.c to glib
author mikael
date Wed, 04 May 2005 19:33:03 +0000
parents b4921dbf8709
children ea5e101fd29e
line wrap: on
line diff
--- a/mcabber/src/main.c	Wed May 04 18:50:35 2005 +0000
+++ b/mcabber/src/main.c	Wed May 04 19:33:03 2005 +0000
@@ -8,6 +8,7 @@
 #include <getopt.h>
 #include <sys/types.h>
 #include <sys/wait.h>
+#include <glib.h>
 
 #include "jabglue.h"
 #include "screen.h"
@@ -67,7 +68,7 @@
 char *compose_jid(const char *username, const char *servername,
         const char *resource)
 {
-  char *jid = malloc(strlen(username)+strlen(servername)+strlen(resource)+3);
+  char *jid = g_new(strlen(username)+strlen(servername)+strlen(resource)+3);
   strcpy(jid, username);
   strcat(jid, "@");
   strcat(jid, servername);
@@ -84,7 +85,7 @@
 
 int main(int argc, char **argv)
 {
-  char configFile[4096];
+  char *configFile = NULL;
   char *username, *password, *resource;
   char *servername, *portstring;
   char *jid;
@@ -105,8 +106,6 @@
   signal(SIGTERM, sig_handler);
   signal(SIGCHLD, sig_handler);
 
-  sprintf(configFile, "%s/.mcabberrc", getenv("HOME"));
-
   /* Parse command line options */
   while (1) {
     int c = getopt(argc, argv, "hf:");
@@ -119,17 +118,18 @@
         printf("Thanks to AjMacias for cabber!\n\n");
 	return 0;
       case 'f':
-	strncpy(configFile, optarg, 1024);
+	configFile = g_strdup(optarg);
 	break;
       }
   }
 
-  ut_WriteLog("Setting config file: %s\n", configFile);
-
+  if (configFile)
+    ut_WriteLog("Setting config file: %s\n", configFile);
 
   /* Parsing config file... */
   ut_WriteLog("Parsing config file...\n");
   cfg_file(configFile);
+  if (configFile) g_free(configFile);
 
   optstring = cfg_read("debug");
   if (optstring)
@@ -186,7 +186,7 @@
 
   jid = compose_jid(username, servername, resource);
   jc = jb_connect(jid, port, ssl, password);
-  free(jid);
+  g_free(jid);
   if (!jc) {
     ut_WriteLog("\terror!!!\n");
     fprintf(stderr, "Error connecting to (%s)\n", servername);