set compiler warnings for gcc-3.0 as well
display message with count of uploaded messages --quiet now supresses warnings in sync_mailbox() fixed compiler warnings with -Wshadow
This commit is contained in:
parent
9647c79504
commit
c84a888a7d
|
@ -1,9 +1,6 @@
|
||||||
AC_INIT(isync.h)
|
AC_INIT(isync.h)
|
||||||
AM_INIT_AUTOMAKE(isync,0.6)
|
AM_INIT_AUTOMAKE(isync,0.6)
|
||||||
AM_PROG_CC_STDC
|
AM_PROG_CC_STDC
|
||||||
if test $CC = gcc; then
|
|
||||||
CFLAGS="$CFLAGS -pipe"
|
|
||||||
fi
|
|
||||||
AC_ARG_WITH(ssl-dir, [ --with-ssl-dir=DIR location where openssl is insalled],
|
AC_ARG_WITH(ssl-dir, [ --with-ssl-dir=DIR location where openssl is insalled],
|
||||||
[if test -d $withval/lib; then
|
[if test -d $withval/lib; then
|
||||||
LIBS="$LIBS -L$withval/lib"
|
LIBS="$LIBS -L$withval/lib"
|
||||||
|
@ -17,5 +14,8 @@ AC_CHECK_LIB(socket,socket)
|
||||||
AC_CHECK_LIB(nsl,inet_ntoa)
|
AC_CHECK_LIB(nsl,inet_ntoa)
|
||||||
AC_CHECK_LIB(crypto,ERR_error_string)
|
AC_CHECK_LIB(crypto,ERR_error_string)
|
||||||
AC_CHECK_LIB(ssl,SSL_library_init)
|
AC_CHECK_LIB(ssl,SSL_library_init)
|
||||||
CFLAGS="$CFLAGS -W -Wall -pedantic -Wmissing-prototypes -Wmissing-declarations"
|
dnl test for gcc. use the prefix so we know that gcc-3.0 is also gcc
|
||||||
|
if test `echo $CC | sed s,^gcc.*,gcc,` = gcc; then
|
||||||
|
CFLAGS="$CFLAGS -pipe -W -Wall -Wshadow -Wmissing-prototypes"
|
||||||
|
fi
|
||||||
AC_OUTPUT(Makefile)
|
AC_OUTPUT(Makefile)
|
||||||
|
|
16
imap.c
16
imap.c
|
@ -559,7 +559,7 @@ imap_open (config_t * box, unsigned int minuid, imap_t * imap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int s;
|
int s;
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in addr;
|
||||||
struct hostent *he;
|
struct hostent *he;
|
||||||
int reuse = 0;
|
int reuse = 0;
|
||||||
#if HAVE_LIBSSL
|
#if HAVE_LIBSSL
|
||||||
|
@ -612,9 +612,9 @@ imap_open (config_t * box, unsigned int minuid, imap_t * imap)
|
||||||
{
|
{
|
||||||
/* open connection to IMAP server */
|
/* open connection to IMAP server */
|
||||||
|
|
||||||
memset (&sin, 0, sizeof (sin));
|
memset (&addr, 0, sizeof (addr));
|
||||||
sin.sin_port = htons (box->port);
|
addr.sin_port = htons (box->port);
|
||||||
sin.sin_family = AF_INET;
|
addr.sin_family = AF_INET;
|
||||||
|
|
||||||
printf ("Resolving %s... ", box->host);
|
printf ("Resolving %s... ", box->host);
|
||||||
fflush (stdout);
|
fflush (stdout);
|
||||||
|
@ -626,14 +626,14 @@ imap_open (config_t * box, unsigned int minuid, imap_t * imap)
|
||||||
}
|
}
|
||||||
puts ("ok");
|
puts ("ok");
|
||||||
|
|
||||||
sin.sin_addr.s_addr = *((int *) he->h_addr_list[0]);
|
addr.sin_addr.s_addr = *((int *) he->h_addr_list[0]);
|
||||||
|
|
||||||
s = socket (PF_INET, SOCK_STREAM, 0);
|
s = socket (PF_INET, SOCK_STREAM, 0);
|
||||||
|
|
||||||
printf ("Connecting to %s:%hu... ", inet_ntoa (sin.sin_addr),
|
printf ("Connecting to %s:%hu... ", inet_ntoa (addr.sin_addr),
|
||||||
ntohs (sin.sin_port));
|
ntohs (addr.sin_port));
|
||||||
fflush (stdout);
|
fflush (stdout);
|
||||||
if (connect (s, (struct sockaddr *) &sin, sizeof (sin)))
|
if (connect (s, (struct sockaddr *) &addr, sizeof (addr)))
|
||||||
{
|
{
|
||||||
perror ("connect");
|
perror ("connect");
|
||||||
exit (1);
|
exit (1);
|
||||||
|
|
1
isync.h
1
isync.h
|
@ -150,6 +150,7 @@ imap_t;
|
||||||
/* flags for sync_mailbox */
|
/* flags for sync_mailbox */
|
||||||
#define SYNC_DELETE (1<<0) /* delete local that don't exist on server */
|
#define SYNC_DELETE (1<<0) /* delete local that don't exist on server */
|
||||||
#define SYNC_EXPUNGE (1<<1) /* don't fetch deleted messages */
|
#define SYNC_EXPUNGE (1<<1) /* don't fetch deleted messages */
|
||||||
|
#define SYNC_QUIET (1<<2) /* only display critical errors */
|
||||||
|
|
||||||
extern config_t global;
|
extern config_t global;
|
||||||
extern config_t *boxes;
|
extern config_t *boxes;
|
||||||
|
|
5
main.c
5
main.c
|
@ -286,7 +286,10 @@ main (int argc, char **argv)
|
||||||
|
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
puts ("Synchronizing");
|
puts ("Synchronizing");
|
||||||
i = (delete || box->delete) ? SYNC_DELETE : 0;
|
i = 0;
|
||||||
|
if (quiet)
|
||||||
|
i |= SYNC_QUIET;
|
||||||
|
i |= (delete || box->delete) ? SYNC_DELETE : 0;
|
||||||
i |= (expunge || box->expunge) ? SYNC_EXPUNGE : 0;
|
i |= (expunge || box->expunge) ? SYNC_EXPUNGE : 0;
|
||||||
if (sync_mailbox (mail, imap, i, box->max_size))
|
if (sync_mailbox (mail, imap, i, box->max_size))
|
||||||
exit (1);
|
exit (1);
|
||||||
|
|
41
sync.c
41
sync.c
|
@ -53,6 +53,7 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
int fd;
|
int fd;
|
||||||
int ret;
|
int ret;
|
||||||
int fetched = 0;
|
int fetched = 0;
|
||||||
|
int upload = 0;
|
||||||
|
|
||||||
if (mbox->uidvalidity > 0)
|
if (mbox->uidvalidity > 0)
|
||||||
{
|
{
|
||||||
|
@ -91,9 +92,17 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
if (cur->uid == (unsigned int) -1)
|
if (cur->uid == (unsigned int) -1)
|
||||||
{
|
{
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
int fd;
|
|
||||||
int uid;
|
int uid;
|
||||||
|
|
||||||
|
if ((flags & SYNC_QUIET) == 0)
|
||||||
|
{
|
||||||
|
if (!upload)
|
||||||
|
fputs ("Uploading messages", stdout);
|
||||||
|
fputc ('.', stdout);
|
||||||
|
fflush (stdout);
|
||||||
|
upload++;
|
||||||
|
}
|
||||||
|
|
||||||
/* upload the message if its not too big */
|
/* upload the message if its not too big */
|
||||||
snprintf (path, sizeof (path), "%s/%s/%s", mbox->path,
|
snprintf (path, sizeof (path), "%s/%s/%s", mbox->path,
|
||||||
cur->new ? "new" : "cur", cur->file);
|
cur->new ? "new" : "cur", cur->file);
|
||||||
|
@ -106,6 +115,7 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
}
|
}
|
||||||
if (imap->box->max_size > 0 && sb.st_size > imap->box->max_size)
|
if (imap->box->max_size > 0 && sb.st_size > imap->box->max_size)
|
||||||
{
|
{
|
||||||
|
if ((flags & SYNC_QUIET) == 0)
|
||||||
printf
|
printf
|
||||||
("Warning, local message is too large (%ld), skipping...\n",
|
("Warning, local message is too large (%ld), skipping...\n",
|
||||||
sb.st_size);
|
sb.st_size);
|
||||||
|
@ -130,9 +140,6 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
*/
|
*/
|
||||||
if (uid != -1)
|
if (uid != -1)
|
||||||
{
|
{
|
||||||
char newpath[_POSIX_PATH_MAX];
|
|
||||||
char *p;
|
|
||||||
|
|
||||||
strfcpy (newpath, path, sizeof (newpath));
|
strfcpy (newpath, path, sizeof (newpath));
|
||||||
/* kill :info field */
|
/* kill :info field */
|
||||||
p = strchr (newpath, ':');
|
p = strchr (newpath, ':');
|
||||||
|
@ -153,17 +160,18 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
perror ("rename");
|
perror ("rename");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if (flags & SYNC_DELETE)
|
||||||
{
|
|
||||||
printf ("Warning, uid %u doesn't exist on server\n",
|
|
||||||
cur->uid);
|
|
||||||
if (flags & SYNC_DELETE)
|
|
||||||
{
|
{
|
||||||
cur->flags |= D_DELETED;
|
cur->flags |= D_DELETED;
|
||||||
cur->dead = 1;
|
cur->dead = 1;
|
||||||
mbox->deleted++;
|
mbox->deleted++;
|
||||||
}
|
}
|
||||||
}
|
/* if the user doesn't want local msgs deleted when they don't
|
||||||
|
* exist on the server, warn that such messages exist.
|
||||||
|
*/
|
||||||
|
else if ((flags & SYNC_QUIET) == 0)
|
||||||
|
printf ("Warning, uid %u doesn't exist on server\n",
|
||||||
|
cur->uid);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
tmp->processed = 1;
|
tmp->processed = 1;
|
||||||
|
@ -203,8 +211,15 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (upload)
|
||||||
|
fprintf (stdout, " %d messages.\n", upload);
|
||||||
|
|
||||||
|
|
||||||
|
if ((flags & SYNC_QUIET) == 0)
|
||||||
|
{
|
||||||
fputs ("Fetching new messages", stdout);
|
fputs ("Fetching new messages", stdout);
|
||||||
fflush (stdout);
|
fflush (stdout);
|
||||||
|
}
|
||||||
for (cur = imap->msgs; cur; cur = cur->next)
|
for (cur = imap->msgs; cur; cur = cur->next)
|
||||||
{
|
{
|
||||||
if (!cur->processed)
|
if (!cur->processed)
|
||||||
|
@ -222,6 +237,7 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
|
|
||||||
if (max_size && cur->size > max_size)
|
if (max_size && cur->size > max_size)
|
||||||
{
|
{
|
||||||
|
if ((flags & SYNC_QUIET) == 0)
|
||||||
printf
|
printf
|
||||||
("Warning, message skipped because it is too big (%u)\n",
|
("Warning, message skipped because it is too big (%u)\n",
|
||||||
cur->size);
|
cur->size);
|
||||||
|
@ -261,9 +277,12 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if ((flags & SYNC_QUIET) == 0)
|
||||||
|
{
|
||||||
/* give some visual feedback that something is happening */
|
/* give some visual feedback that something is happening */
|
||||||
fputs (".", stdout);
|
fputs (".", stdout);
|
||||||
fflush (stdout);
|
fflush (stdout);
|
||||||
|
}
|
||||||
fetched++;
|
fetched++;
|
||||||
|
|
||||||
ret = imap_fetch_message (imap, cur->uid, fd);
|
ret = imap_fetch_message (imap, cur->uid, fd);
|
||||||
|
@ -293,6 +312,8 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
|
||||||
unlink (path);
|
unlink (path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((flags & SYNC_QUIET) == 0)
|
||||||
printf (" %d messages\n", fetched);
|
printf (" %d messages\n", fetched);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user