{
name = strtok_r(m->name, "@", &lasts);
EXEC SQL SELECT count(login) INTO :i FROM users
- WHERE login = :name;
+ WHERE login = :name and status != 3;
if (i == 1)
{
if (*(m->tag))
name = strtok_r(m->name, "@", &lasts);
EXEC SQL SELECT count(login) INTO :i FROM users WHERE
- login = :name;
+ login = :name and status != 3;
if (i == 1)
{
EXEC SQL SELECT unix_uid, shell, fullname, nickname,
{
n = strtok_r(m->name, "@", &lasts);
EXEC SQL SELECT count(login) INTO :i FROM users
- WHERE login = :n;
+ WHERE login = :n and status != 3;
if (i == 1)
{
fprintf(out, "%s%s", maybecomma, n);
static void save_imember(struct save_queue *sq, char *type, int id, char *tag)
{
EXEC SQL BEGIN DECLARE SECTION;
- int lid = id, mid, mid2, tagid;
+ int lid = id, mid, mid2, tagid, status;
char mtype[IMEMBERS_MEMBER_TYPE_SIZE];
EXEC SQL END DECLARE SECTION;
char *mtag;
switch (*type)
{
case 'U':
- sq_save_data(sq, imember('U', user_lookup(id), tag));
+ EXEC SQL SELECT status INTO :status FROM users WHERE users_id = :id;
+ if (status != 3)
+ sq_save_data(sq, imember('U', user_lookup(id), tag));
break;
case 'K':