Replace lots of snprintf's with new function `make_path'.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4802 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -40,6 +40,13 @@
|
||||
#include <dirent.h>
|
||||
RCSID("$Id$");
|
||||
|
||||
static void
|
||||
make_path(POP *p, MsgInfoList *mp, int new, char *buf, size_t len)
|
||||
{
|
||||
snprintf(buf, len, "%s/%s%s%s", p->drop_name,
|
||||
new ? "new" : "cur", mp ? "/" : "", mp ? "" : mp->name);
|
||||
}
|
||||
|
||||
static int
|
||||
scan_file(POP *p, MsgInfoList *mp)
|
||||
{
|
||||
@@ -48,10 +55,7 @@ scan_file(POP *p, MsgInfoList *mp)
|
||||
char buf[1024];
|
||||
int eoh = 0;
|
||||
|
||||
snprintf(path, sizeof(path), "%s/%s/%s",
|
||||
p->drop_name,
|
||||
(mp->flags & NEW_FLAG) ? "new" : "old",
|
||||
mp->name);
|
||||
make_path(p, mp, mp->flags & NEW_FLAG, path, sizeof(path));
|
||||
f = fopen(path, "r");
|
||||
|
||||
if(f == NULL) {
|
||||
@@ -88,7 +92,7 @@ scan_dir(POP *p, int new)
|
||||
int n_mp = p->msg_count;
|
||||
int e;
|
||||
|
||||
snprintf(tmp, sizeof(tmp), "%s/%s", p->drop_name, new ? "new" : "old");
|
||||
make_path(p, NULL, new, tmp, sizeof(tmp));
|
||||
mkdir(tmp, 0700);
|
||||
dir = opendir(tmp);
|
||||
while((dent = readdir(dir)) != NULL) {
|
||||
@@ -148,9 +152,8 @@ pop_maildir_update(POP *p)
|
||||
int i;
|
||||
char tmp1[MAXDROPLEN], tmp2[MAXDROPLEN];
|
||||
for(i = 0; i < p->msg_count; i++) {
|
||||
snprintf(tmp1, sizeof(tmp1), "%s/%s/%s", p->drop_name,
|
||||
(p->mlp[i].flags & NEW_FLAG) ? "new" : "old",
|
||||
p->mlp[i].name);
|
||||
make_path(p, &p->mlp[i], p->mlp[i].flags & NEW_FLAG,
|
||||
tmp1, sizeof(tmp1));
|
||||
if(p->mlp[i].flags & DEL_FLAG) {
|
||||
#ifdef DEBUG
|
||||
if(p->debug)
|
||||
@@ -166,8 +169,7 @@ pop_maildir_update(POP *p)
|
||||
}
|
||||
} else if((p->mlp[i].flags & NEW_FLAG) &&
|
||||
(p->mlp[i].flags & RETR_FLAG)) {
|
||||
snprintf(tmp2, sizeof(tmp2), "%s/old/%s", p->drop_name,
|
||||
p->mlp[i].name);
|
||||
make_path(p, &p->mlp[i], 0, tmp2, sizeof(tmp2));
|
||||
#ifdef DEBUG
|
||||
if(p->debug)
|
||||
pop_log(p, POP_DEBUG, "Linking `%s' to `%s'", tmp1, tmp2);
|
||||
@@ -209,8 +211,7 @@ int
|
||||
pop_maildir_open(POP *p, MsgInfoList *mp)
|
||||
{
|
||||
char tmp[MAXDROPLEN];
|
||||
snprintf(tmp, sizeof(tmp), "%s/%s/%s", p->drop_name,
|
||||
(mp->flags & NEW_FLAG) ? "new" : "old", mp->name);
|
||||
make_path(p, mp, mp->flags & NEW_FLAG, tmp, sizeof(tmp);
|
||||
if(p->drop)
|
||||
fclose(p->drop);
|
||||
p->drop = fopen(tmp, "r");
|
||||
|
Reference in New Issue
Block a user