Adding object table (#1)

* code for maintaining the object table

* Makefile fix

* Clone git submodules.

* directory -> object_table

* Fix Makefile and remove unnecessary files.

* Fix formatting.

* make code more generic
This commit is contained in:
Philipp Moritz
2016-09-13 18:54:26 -07:00
committed by Robert Nishihara
parent a35de3b287
commit 7d629d4e48
21 changed files with 2322 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#ifndef COMMON_H
#define COMMON_H
#include <errno.h>
#ifdef NDEBUG
#define LOG_DEBUG(M, ...)
#else
#define LOG_DEBUG(M, ...) \
fprintf(stderr, "[DEBUG] (%s:%d) " M "\n", __FILE__, __LINE__, ##__VA_ARGS__)
#endif
#define LOG_ERR(M, ...) \
fprintf(stderr, "[ERROR] (%s:%d: errno: %s) " M "\n", __FILE__, __LINE__, \
errno == 0 ? "None" : strerror(errno), ##__VA_ARGS__)
#define LOG_INFO(M, ...) \
fprintf(stderr, "[INFO] (%s:%d) " M "\n", __FILE__, __LINE__, ##__VA_ARGS__)
#define UNIQUE_ID_SIZE 20
typedef struct { unsigned char id[UNIQUE_ID_SIZE]; } unique_id;
/* Convert a 20 byte sha1 hash to a hexdecimal string. This function assumes
* that buffer points to an already allocated char array of size 2 *
* UNIQUE_ID_SIZE + 1 */
char *sha1_to_hex(const unsigned char *sha1, char *buffer);
#endif