diff options
author | Marcus Brinkmann <[email protected]> | 2006-09-19 14:01:54 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2006-09-19 14:01:54 +0000 |
commit | 9e09d93de83fe1160689acb36b082c02ccb52716 (patch) | |
tree | 807126be9dd89fe2850ad748de978de0c5d3b340 /assuan/assuan-client.c | |
parent | 2006-07-29 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-9e09d93de83fe1160689acb36b082c02ccb52716.tar.gz gpgme-9e09d93de83fe1160689acb36b082c02ccb52716.zip |
assuan/
Update to current version.
2006-09-19 Marcus Brinkmann <[email protected]>
* configure.ac: Turn stpcpy into a replacement function.
Check for unistd.h and add setenv as replacement function.
gpgme/
2006-09-19 Marcus Brinkmann <[email protected]>
* setenv.c: New file.
Diffstat (limited to '')
-rw-r--r-- | assuan/assuan-client.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/assuan/assuan-client.c b/assuan/assuan-client.c index 2f78d0c8..06e3966f 100644 --- a/assuan/assuan-client.c +++ b/assuan/assuan-client.c @@ -15,7 +15,8 @@ * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. */ #include <config.h> @@ -33,7 +34,7 @@ assuan_error_t -_assuan_read_from_server (ASSUAN_CONTEXT ctx, int *okay, int *off) +_assuan_read_from_server (assuan_context_t ctx, int *okay, int *off) { char *line; int linelen; @@ -103,7 +104,7 @@ _assuan_read_from_server (ASSUAN_CONTEXT ctx, int *okay, int *off) *off = 3; } else - rc = ASSUAN_Invalid_Response; + rc = _assuan_error (ASSUAN_Invalid_Response); return rc; } @@ -112,7 +113,7 @@ _assuan_read_from_server (ASSUAN_CONTEXT ctx, int *okay, int *off) /** * assuan_transact: * @ctx: The Assuan context - * @command: Coimmand line to be send to server + * @command: Command line to be send to the server * @data_cb: Callback function for data lines * @data_cb_arg: first argument passed to @data_cb * @inquire_cb: Callback function for a inquire response @@ -124,19 +125,22 @@ _assuan_read_from_server (ASSUAN_CONTEXT ctx, int *okay, int *off) * * Return value: 0 on success or error code. The error code may be * the one one returned by the server in error lines or from the - * callback functions. + * callback functions. Take care: When a callback returns an error + * this function returns immediately with an error and thus the caller + * will altter return an Assuan error (write erro in most cases). **/ assuan_error_t -assuan_transact (ASSUAN_CONTEXT ctx, +assuan_transact (assuan_context_t ctx, const char *command, - assuan_error_t (*data_cb)(void *, const void *, size_t), + int (*data_cb)(void *, const void *, size_t), void *data_cb_arg, - assuan_error_t (*inquire_cb)(void*, const char *), + int (*inquire_cb)(void*, const char *), void *inquire_cb_arg, - assuan_error_t (*status_cb)(void*, const char *), + int (*status_cb)(void*, const char *), void *status_cb_arg) { - int rc, okay, off; + assuan_error_t rc; + int okay, off; char *line; int linelen; @@ -157,14 +161,14 @@ assuan_transact (ASSUAN_CONTEXT ctx, if (!okay) { - rc = atoi (line); + rc = _assuan_error (atoi (line)); if (rc < 100) rc = ASSUAN_Server_Fault; } else if (okay == 2) { if (!data_cb) - rc = ASSUAN_No_Data_Callback; + rc = _assuan_error (ASSUAN_No_Data_Callback); else { char *s, *d; @@ -193,7 +197,7 @@ assuan_transact (ASSUAN_CONTEXT ctx, { assuan_write_line (ctx, "END"); /* get out of inquire mode */ _assuan_read_from_server (ctx, &okay, &off); /* dummy read */ - rc = ASSUAN_No_Inquire_Callback; + rc = _assuan_error (ASSUAN_No_Inquire_Callback); } else { @@ -214,7 +218,7 @@ assuan_transact (ASSUAN_CONTEXT ctx, else if (okay == 5) { if (!data_cb) - rc = ASSUAN_No_Data_Callback; + rc = _assuan_error (ASSUAN_No_Data_Callback); else { rc = data_cb (data_cb_arg, NULL, 0); |