Changeset 823de9d for storage.c


Ignore:
Timestamp:
2009-03-12T19:10:06Z (12 years ago)
Author:
Sven Moritz Hallberg <pesco@…>
Branches:
master
Children:
673a54c
Parents:
9b55485
Message:

commit updates by ashish shukla <wahjava@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • storage.c

    r9b55485 r823de9d  
    104104}
    105105
    106 storage_status_t storage_load (const char *nick, const char *password, irc_t * irc)
    107 {
    108         GList *gl;
     106storage_status_t storage_load (irc_t * irc, const char *password)
     107{
     108        GList *gl;
     109       
     110        if (irc && irc->status & USTATUS_IDENTIFIED)
     111                return STORAGE_OTHER_ERROR;
    109112       
    110113        /* Loop until we don't get NO_SUCH_USER */
     
    113116                storage_status_t status;
    114117
    115                 status = st->load(nick, password, irc);
     118                status = st->load(irc, password);
    116119                if (status == STORAGE_OK) {
    117                         irc_setpass(irc, password);
    118                         otr_load(irc);          /* load our OTR userstate */
     120                        otr_load(irc);
    119121                        return status;
    120122                }
    121123               
    122                 if (status != STORAGE_NO_SUCH_USER) {
     124                if (status != STORAGE_NO_SUCH_USER)
    123125                        return status;
    124                 }
    125126        }
    126127       
     
    128129}
    129130
    130 storage_status_t storage_save (irc_t *irc, int overwrite)
     131storage_status_t storage_save (irc_t *irc, char *password, int overwrite)
    131132{
    132133        storage_status_t st;
    133134       
     135        if (password != NULL) {
     136                /* Should only use this in the "register" command. */
     137                if (irc->password || overwrite)
     138                        return STORAGE_OTHER_ERROR;
     139               
     140                irc_setpass(irc, password);
     141        } else if ((irc->status & USTATUS_IDENTIFIED) == 0) {
     142                return STORAGE_NO_SUCH_USER;
     143        }
     144
    134145        otr_save(irc);
    135146        st = ((storage_t *)global.storage->data)->save(irc, overwrite);
     147       
     148        if (password != NULL) {
     149                irc_setpass(irc, NULL);
     150        }
     151       
    136152        return st;
    137153}
     
    150166
    151167                status = st->remove(nick, password);
    152                 if (status != STORAGE_NO_SUCH_USER &&
    153                         status != STORAGE_OK)
     168                if (status != STORAGE_NO_SUCH_USER && status != STORAGE_OK)
    154169                        ret = status;
    155170        }
     
    160175        return ret;
    161176}
     177
     178#if 0
     179Not using this yet. Test thoroughly before adding UI hooks to this function.
    162180
    163181storage_status_t storage_rename (const char *onick, const char *nnick, const char *password)
     
    202220        return STORAGE_OK;
    203221}
     222#endif
Note: See TracChangeset for help on using the changeset viewer.