16 #include <gwenhywfar/debug.h> 17 #include <gwenhywfar/ct.h> 18 #include <gwenhywfar/ctplugin.h> 19 #include <gwenhywfar/text.h> 20 #include <gwenhywfar/mdigest.h> 46 "Specify folder to hash",
47 "Specify folder to hash" 57 "Show this help screen",
58 "Show this help screen" 68 fprintf(stderr,
"ERROR: Could not parse arguments\n");
76 fprintf(stderr,
"ERROR: Could not create help string\n");
92 fprintf(stderr,
"ERROR: Could not hash folder tree (%d)\n", rv);
102 fprintf(stderr,
"ERROR: Could not open output file: %s\n", strerror(errno));
112 fprintf(f,
"%s\n", s);
119 fprintf(stderr,
"ERROR: Could not close output file: %s\n", strerror(errno));
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
struct GWEN_STRINGLISTENTRYSTRUCT GWEN_STRINGLISTENTRY
int hashTree(GWEN_DB_NODE *dbArgs, int argc, char **argv)
void GWEN_MDigest_free(GWEN_MDIGEST *md)
struct GWEN_DB_NODE GWEN_DB_NODE
#define GWEN_DIR_SEPARATOR_S
#define GWEN_ARGS_FLAGS_HELP
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
GWEN_STRINGLISTENTRY * GWEN_StringList_FirstEntry(const GWEN_STRINGLIST *sl)
const char * GWEN_StringListEntry_Data(const GWEN_STRINGLISTENTRY *se)
#define GWEN_ARGS_RESULT_HELP
#define GWEN_ARGS_RESULT_ERROR
void GWEN_StringList_free(GWEN_STRINGLIST *sl)
int GWEN_MDigest_HashFileTree(GWEN_MDIGEST *md, const char *folder, const char *ignoreFile, GWEN_STRINGLIST *sl)
GWENHYWFAR_API GWEN_MDIGEST * GWEN_MDigest_Rmd160_new(void)
int GWEN_Args_Usage(const GWEN_ARGS *args, GWEN_BUFFER *ubuf, GWEN_ARGS_OUTTYPE ot)
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
struct GWEN_MDIGEST GWEN_MDIGEST
#define GWEN_ARGS_MODE_ALLOW_FREEPARAM
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
GWEN_DB_NODE * GWEN_DB_GetGroup(GWEN_DB_NODE *n, uint32_t flags, const char *path)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
#define GWEN_ARGS_FLAGS_LAST
int GWEN_Args_Check(int argc, char **argv, int startAt, uint32_t mode, const GWEN_ARGS *args, GWEN_DB_NODE *db)
GWEN_STRINGLISTENTRY * GWEN_StringListEntry_Next(const GWEN_STRINGLISTENTRY *se)
GWEN_STRINGLIST * GWEN_StringList_new(void)
#define GWEN_ARGS_FLAGS_HAS_ARGUMENT
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
#define GWEN_DB_FLAGS_DEFAULT