pidgin register test problem

jimmy_yuhai jimmy_yuhai at
Wed May 28 09:27:33 EDT 2008

dear friends,
i modify the nullclient.c to test the register procedure in pidgin;
the nullclient.c modified is showed bellow

    i also modify the /libpurple/protocols/jabber/jabbber.c :
void jabber_register_account(PurpleAccount *account)
    {// the following line is added by me: for i dont know which code line to add the jabber server ip.

why i can not register the new user:alice at chsiyuhai/gaim ??
the nullclient.c file is mainly :
int main(int argc, char *argv[])

        GList *iter;
        int i, num;

        GList *names = NULL;

        const char *prpl;

        char name[128];
        char *password;
        GMainLoop *loop = g_main_loop_new(NULL, FALSE);

        PurpleAccount *account;
        PurpleSavedStatus *status;
        char *res;

        /* libpurple's built-in DNS resolution forks processes to perform
         * blocking lookups without blocking the main process.  It does not
         * handle SIGCHLD itself, so if the UI does not you quickly get an army
         * of zombie subprocesses marching around.
        signal(SIGCHLD, SIG_IGN);
        printf("--this  is first\n");

        printf("libpurple initialized.\n");

        iter = purple_plugins_get_protocols();
        for (i = 0; iter; iter = iter->next) {
                PurplePlugin *plugin = iter->data;
                PurplePluginInfo *info = plugin->info;
                if (info && info->name) {
                //print out the protocols can be used;
                        printf("\t%d: %s\n", i++, info->name);
 * Detailed information about a plugin.
 * This is used in the version 2.0 API and up.
                        names = g_list_append(names, info->id);
//can i stop here and comes out a select dialog?
        printf("Select the protocol [0-%d]: ", i-1);
        res = fgets(name, sizeof(name), stdin);
        if (!res) {
                fprintf(stderr, "Failed to gets protocol selection.");

        sscanf(name, "%d", &num);
        prpl = g_list_nth_data(names, num);

        printf("Username: ");
        res = fgets(name, sizeof(name), stdin);
        if (!res) {
                fprintf(stderr, "Failed to read user name.");
//        name[strlen(name) - 1] = 0;  /* strip the \n at the end */
        /* Create the account */
        account = purple_account_new(name, prpl);

        /* Get the password for the account */

        //password = getpass("Password: ");
        purple_account_set_username(account, "alice at chsiyuhai/gaim");
        password = "2924534";
        purple_account_set_password(account, password);
        printf("\n jid:user at domain/resource:%s\n",ss);
        /* It's necessary to enable the account first. */
        purple_account_set_enabled(account, UI_ID, TRUE);

        /* Now, to connect the account(s), create a status and activate it. */
        status = purple_savedstatus_new(NULL, PURPLE_STATUS_AVAILABLE);

        return 0;

any advice is a great help, thanks!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Devel mailing list