factor out sync_listed_boxes()
This commit is contained in:
parent
f485d69332
commit
decc33c2cf
28
src/main.c
28
src/main.c
|
@ -502,6 +502,7 @@ main( int argc, char **argv )
|
||||||
|
|
||||||
static void store_opened( store_t *ctx, void *aux );
|
static void store_opened( store_t *ctx, void *aux );
|
||||||
static void store_listed( int sts, void *aux );
|
static void store_listed( int sts, void *aux );
|
||||||
|
static int sync_listed_boxes( main_vars_t *mvars, string_list_t *mbox );
|
||||||
static void done_sync_dyn( int sts, void *aux );
|
static void done_sync_dyn( int sts, void *aux );
|
||||||
static void done_sync( int sts, void *aux );
|
static void done_sync( int sts, void *aux );
|
||||||
|
|
||||||
|
@ -625,25 +626,17 @@ sync_chans( main_vars_t *mvars, int ent )
|
||||||
if (mvars->boxlist) {
|
if (mvars->boxlist) {
|
||||||
if ((mbox = mvars->cboxes)) {
|
if ((mbox = mvars->cboxes)) {
|
||||||
mvars->cboxes = mbox->next;
|
mvars->cboxes = mbox->next;
|
||||||
if (!mvars->list) {
|
if (sync_listed_boxes( mvars, mbox ))
|
||||||
mvars->names[M] = mvars->names[S] = mbox->string;
|
|
||||||
sync_boxes( mvars->ctx, mvars->names, mvars->chan, done_sync_dyn, mvars );
|
|
||||||
goto syncw;
|
goto syncw;
|
||||||
}
|
|
||||||
puts( mbox->string );
|
|
||||||
free( mbox );
|
|
||||||
goto syncmlx;
|
goto syncmlx;
|
||||||
}
|
}
|
||||||
for (t = 0; t < 2; t++)
|
for (t = 0; t < 2; t++)
|
||||||
if ((mbox = mvars->boxes[t])) {
|
if ((mbox = mvars->boxes[t])) {
|
||||||
mvars->boxes[t] = mbox->next;
|
mvars->boxes[t] = mbox->next;
|
||||||
if ((mvars->chan->ops[1-t] & OP_MASK_TYPE) && (mvars->chan->ops[1-t] & OP_CREATE)) {
|
if ((mvars->chan->ops[1-t] & OP_MASK_TYPE) && (mvars->chan->ops[1-t] & OP_CREATE)) {
|
||||||
if (!mvars->list) {
|
if (sync_listed_boxes( mvars, mbox ))
|
||||||
mvars->names[M] = mvars->names[S] = mbox->string;
|
|
||||||
sync_boxes( mvars->ctx, mvars->names, mvars->chan, done_sync_dyn, mvars );
|
|
||||||
goto syncw;
|
goto syncw;
|
||||||
}
|
goto syncmlx;
|
||||||
puts( mbox->string );
|
|
||||||
}
|
}
|
||||||
free( mbox );
|
free( mbox );
|
||||||
goto syncmlx;
|
goto syncmlx;
|
||||||
|
@ -789,6 +782,19 @@ store_listed( int sts, void *aux )
|
||||||
sync_chans( mvars, E_OPEN );
|
sync_chans( mvars, E_OPEN );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
sync_listed_boxes( main_vars_t *mvars, string_list_t *mbox )
|
||||||
|
{
|
||||||
|
if (!mvars->list) {
|
||||||
|
mvars->names[M] = mvars->names[S] = mbox->string;
|
||||||
|
sync_boxes( mvars->ctx, (const char **)mvars->names, mvars->chan, done_sync_dyn, mvars );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
puts( mbox->string );
|
||||||
|
free( mbox );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
done_sync_dyn( int sts, void *aux )
|
done_sync_dyn( int sts, void *aux )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user