diff options
author | Werner Koch <[email protected]> | 2002-01-10 19:46:20 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2002-01-10 19:46:20 +0000 |
commit | 8bad9e344b6a084b506ba6d2117cc433a8383734 (patch) | |
tree | e23fb2bd882894cd6c1cef684baafedf05f0e931 /common/maperror.c | |
parent | * assuan-handler.c (assuan_set_okay_line): New. (diff) | |
download | gnupg-8bad9e344b6a084b506ba6d2117cc433a8383734.tar.gz gnupg-8bad9e344b6a084b506ba6d2117cc433a8383734.zip |
*** empty log message ***
Diffstat (limited to 'common/maperror.c')
-rw-r--r-- | common/maperror.c | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/common/maperror.c b/common/maperror.c index 0c259ddd0..ee1bdc86a 100644 --- a/common/maperror.c +++ b/common/maperror.c @@ -1,5 +1,5 @@ /* maperror.c - Error mapping - * Copyright (C) 2001 Free Software Foundation, Inc. + * Copyright (C) 2001, 2002 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -147,3 +147,54 @@ map_assuan_err (int err) return err; } +/* Map GNUPG_xxx error codes to Assuan status codes */ +int +map_to_assuan_status (int rc) +{ + switch (rc) + { + case 0: break; + case GNUPG_Bad_Certificate: rc = ASSUAN_Bad_Certificate; break; + case GNUPG_Bad_Certificate_Path: rc = ASSUAN_Bad_Certificate_Path; break; + case GNUPG_Missing_Certificate: rc = ASSUAN_Missing_Certificate; break; + case GNUPG_No_Data: rc = ASSUAN_No_Data_Available; break; + case GNUPG_Bad_Signature: rc = ASSUAN_Bad_Signature; break; + case GNUPG_Not_Implemented: rc = ASSUAN_Not_Implemented; break; + case GNUPG_No_Agent: rc = ASSUAN_No_Agent; break; + case GNUPG_Agent_Error: rc = ASSUAN_Agent_Error; break; + case GNUPG_No_Public_Key: rc = ASSUAN_No_Public_Key; break; + case GNUPG_No_Secret_Key: rc = ASSUAN_No_Secret_Key; break; + case GNUPG_Invalid_Data: rc = ASSUAN_Invalid_Data; break; + case GNUPG_Invalid_Name: rc = ASSUAN_Invalid_Name; break; + + case GNUPG_Bad_PIN: + case GNUPG_Bad_Passphrase: + rc = ASSUAN_No_Secret_Key; + break; + + case GNUPG_Read_Error: + case GNUPG_Write_Error: + case GNUPG_IO_Error: + rc = ASSUAN_Server_IO_Error; + break; + case GNUPG_Out_Of_Core: + case GNUPG_Resource_Limit: + rc = ASSUAN_Server_Resource_Problem; + break; + case GNUPG_Bug: + case GNUPG_Internal_Error: + rc = ASSUAN_Server_Bug; + break; + default: + rc = ASSUAN_Server_Fault; + break; + } + return rc; +} + + + + + + + |