bool czor_register_hash (char *hash, bool spam) { czor_d db_record; // Check firstly if the hash is present if (czor_key_exists (hash)) { // The hash is in the database so load it and update the record if (czor_load_record (hash, &db_record) == FALSE) { printf ("Failed to load...\n"); return (FALSE); } printf ("Key Exists!!!!\n"); return (TRUE); } // The hash is not present, so we need to create a new entry printf ("Key does not exist, so I am going to create an entry!\n"); return (TRUE); } /**************************************** * Load given keys data to a record * ****************************************/ bool czor_load_record (char *hash, struct czor_d *dest) { datum key, data; key.dsize = strlen (hash); key.dptr = hash; data = gdbm_fetch (dbf, key); if (data.dsize == 0) { printf ("ERROR: Failed to load record of hash %s\n", hash); exit (2); } // Data loaded, now convert the ASCII values to respective structure values dest->client_version = 1; -----------------------------