diff options
Diffstat (limited to 'src/Ell_DBstructure.c')
-rw-r--r-- | src/Ell_DBstructure.c | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/src/Ell_DBstructure.c b/src/Ell_DBstructure.c index cfdc16c..4f733d3 100644 --- a/src/Ell_DBstructure.c +++ b/src/Ell_DBstructure.c @@ -28,6 +28,8 @@ struct t_ellthingy int Ell_CreateKey(int vartype, const char *keychain) { + DECLARE_CCTK_PARAMETERS + struct t_ellthingy* new; int retval; @@ -43,9 +45,35 @@ int Ell_CreateKey(int vartype, const char *keychain) { new->vals.i = 0; new->vals.s = NULL; - printf("Created %s %d \n",keychain,vartype); - retval = StoreNamedData(&EllInfoDB, keychain, new); - if (retval!=0) retval = ELLCREATE_FAILED; + if (StoreNamedData(&EllInfoDB, keychain, new)!=0) + { + if (!CCTK_Equals(elliptic_verbose,"no")) + { + char *msg; + char *name=CCTK_VarTypeName(vartype); + msg = (char *)malloc( + (200 + strlen(keychain) + strlen(name) )*sizeof(char) ); + sprintf(msg,"Failed to create %s (%s)",keychain,name); + CCTK_INFO(msg); + free(msg); + } + retval = ELLCREATE_FAILED; + } + else + { + if (!CCTK_Equals(elliptic_verbose,"no")) + { + char *msg; + char *name=CCTK_VarTypeName(vartype); + msg = (char *)malloc( + (200 + strlen(keychain) + strlen(name) )*sizeof(char) ); + sprintf(msg,"Created %s (%s)",keychain,name); + CCTK_INFO(msg); + free(msg); + } + retval = 0; + } + } return(retval); |