Пример #1
0
void finger_mail(USER_DATA *usr, char *name) {
	MAIL_DATA *pMail;
	MAIL_DATA *fMailFirst;
	MAIL_DATA *fMailLast;
	USER_DATA *to;
	char buf[INPUT];
	FILE *fpMail;
	int count = 0;
	int new_count = 0;

	if (!(to = get_user(name))) {
		if (!is_user(name)) {
			bbs_bug("Finger_mail: No such user %s", name);
			send_to_user("ERROR: No such user.\n\r", usr);
			return;
		}
		fMailFirst = NULL;
		fMailLast = NULL;

		sprintf(buf, "%s%s", MAIL_DIR, capitalize(name));
		if (!(fpMail = fopen(buf, "r"))) {
			bbs_bug("Finger_mail: Could not open to read %s", buf);
			/*	    send_to_user("ERROR: Could not open mail file.\n\r", usr);
			 BAXTER */
			send_to_user("Mail: No new messages.\n\r\n\r", usr);
			return;
		}

		while ((pMail = read_mail(fpMail)) != NULL)
			LINK(pMail, fMailFirst, fMailLast);

		for (pMail = fMailFirst; pMail; pMail = pMail->next) {
			if (pMail) {
				if (pMail->stamp_time > pMail->read_time)
					new_count++;

				count++;
			}
		}

		if (new_count > 0)
			sprintf(buf, "Mail: %d new message%s.\n\r\n\r", new_count,
					new_count > 1 ? "s" : "");
		else
			sprintf(buf, "Mail: No new messages.\n\r\n\r");
		send_to_user(buf, usr);
		return;
	}

	if (unread_mail(to) > 0)
		sprintf(buf, "Mail: %d new message%s.\n\r\n\r", unread_mail(to),
				unread_mail(to) > 1 ? "s" : "");
	else
		sprintf(buf, "Mail: No new messages.\n\r\n\r");
	send_to_user(buf, usr);
	return;
}
Пример #2
0
/* load_ml: load maillist, assumes init_ml done */
static void load_ml(void)
{
  FILE *in;
  imc_mail *p;
  char name[200];

  imc_sncpy(name, imc_prefix, 190);
  strcat(name, "mail-list");

  in=fopen(name, "r");
  if (!in)
    return;

  p=read_mail(in);
  while (p)
  {
    add_ml(p);
    p=read_mail(in);
  }

  fclose(in);
}
Пример #3
0
void load_mail(USER_DATA *usr) {
	MAIL_DATA *pMail;
	char buf[INPUT];
	FILE *fpMail;

	usr->pMailFirst = NULL;
	usr->pMailLast = NULL;

	sprintf(buf, "%s%s", MAIL_DIR, capitalize(usr->name));
	if (!(fpMail = fopen(buf, "r"))) {
		bbs_bug("Load_mail: Could not open to read %s", buf);
		return;
	}

	while ((pMail = read_mail(fpMail)) != NULL)
		LINK(pMail, usr->pMailFirst, usr->pMailLast);

	return;
}