Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
John McEleney
/
mailutils
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
3b6f7607
...
3b6f7607d8ef90767a78f485835d4e2d9b93d70c
authored
2003-01-28 21:42:27 +0000
by
Sergey Poznyakoff
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Implements IDLE command (rfc 2177)
1 parent
0aaf6a71
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
56 additions
and
0 deletions
imap4d/idle.c
imap4d/idle.c
0 → 100644
View file @
3b6f760
/* GNU Mailutils -- a suite of utilities for electronic mail
Copyright (C) 2003 Free Software Foundation, Inc.
GNU Mailutils is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Mailutils is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Mailutils; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "imap4d.h"
int
imap4d_idle
(
struct
imap4d_command
*
command
,
char
*
arg
)
{
char
*
sp
;
if
(
util_getword
(
arg
,
&
sp
))
return
util_finish
(
command
,
RESP_BAD
,
"Too many args"
);
if
(
util_wait_input
(
0
)
==
-
1
)
return
util_finish
(
command
,
RESP_NO
,
"Cannot idle"
);
util_send
(
"+ idling
\r\n
"
);
util_flush_output
();
while
(
1
)
{
if
(
util_wait_input
(
5
))
{
int
rc
;
char
*
p
;
char
*
cmd
=
imap4d_readline
();
p
=
util_getword
(
cmd
,
&
sp
);
rc
=
strcasecmp
(
p
,
"done"
)
==
0
;
free
(
cmd
);
if
(
rc
)
break
;
}
imap4d_sync
();
util_flush_output
();
}
return
util_finish
(
command
,
RESP_OK
,
"IDLE terminated"
);
}
Please
register
or
sign in
to post a comment