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));
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
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)
#define GWEN_DB_FLAGS_DEFAULT
struct GWEN_DB_NODE GWEN_DB_NODE
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
#define GWEN_DIR_SEPARATOR_S
int hashTree(GWEN_DB_NODE *dbArgs, int argc, char **argv)
int GWEN_MDigest_HashFileTree(GWEN_MDIGEST *md, const char *folder, const char *ignoreFile, GWEN_STRINGLIST *sl)
void GWEN_MDigest_free(GWEN_MDIGEST *md)
GWENHYWFAR_API GWEN_MDIGEST * GWEN_MDigest_Rmd160_new(void)
struct GWEN_MDIGEST GWEN_MDIGEST
int GWEN_Args_Check(int argc, char **argv, int startAt, uint32_t mode, const GWEN_ARGS *args, GWEN_DB_NODE *db)
int GWEN_Args_Usage(const GWEN_ARGS *args, GWEN_BUFFER *ubuf, GWEN_ARGS_OUTTYPE ot)
#define GWEN_ARGS_FLAGS_HAS_ARGUMENT
#define GWEN_ARGS_RESULT_ERROR
#define GWEN_ARGS_MODE_ALLOW_FREEPARAM
#define GWEN_ARGS_FLAGS_HELP
#define GWEN_ARGS_FLAGS_LAST
#define GWEN_ARGS_RESULT_HELP
void GWEN_StringList_free(GWEN_STRINGLIST *sl)
const char * GWEN_StringListEntry_Data(const GWEN_STRINGLISTENTRY *se)
GWEN_STRINGLISTENTRY * GWEN_StringListEntry_Next(const GWEN_STRINGLISTENTRY *se)
GWEN_STRINGLISTENTRY * GWEN_StringList_FirstEntry(const GWEN_STRINGLIST *sl)
GWEN_STRINGLIST * GWEN_StringList_new(void)
struct GWEN_STRINGLISTENTRYSTRUCT GWEN_STRINGLISTENTRY
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST