Cleanup in elf.c with .bss section clean; adm command mounts cdrom instead of floppy...
[ZeXOS.git] / apps / zjab / main.c
blob3ebeca9aef0641630ab778866e925145515583f4
1 /*
2 * ZeX/OS
3 * Copyright (C) 2009 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include <stdio.h>
21 #include <stdlib.h>
22 #include <string.h>
23 #include "xmpp.h"
24 #include "cmds.h"
26 char *get_user ()
28 printf ("Your username: ");
30 char buf[80];
31 scanf ("%s", buf);
33 return strdup (buf);
36 char *get_pwd ()
38 printf ("Password: ");
40 char buf[80];
41 scanf ("%s", buf);
43 return strdup (buf);
46 int main (int argc, char **argv)
48 printf ("zjab\n");
50 if (argc < 2) {
51 printf ("syntax: exec zjab <server> [port]\n");
52 return -1;
55 char *server = argv[1];
56 int port = argc > 2 ? atoi (argv[2]) : 5222;
58 /* get username and password from keyboard */
59 char *user = get_user ();
60 char *pwd = get_pwd ();
62 if (!user || !pwd)
63 return -1;
65 xmpp_setup (user, pwd, "ZeXOS");
67 /* connect to jabber server */
68 if (xmpp_connect (server, port) == -1)
69 goto clean;
71 /* login */
72 if (cmds_init () == -1)
73 return -1;
75 /* main loop */
76 xmpp_loop ();
78 xmpp_close ();
79 clean:
80 free (pwd);
81 free (user);
83 return 0;