Loading src/or/consdiff.c +26 −6 Original line number Diff line number Diff line Loading @@ -41,7 +41,10 @@ static const char* hash_token = "hash"; static char *consensus_join_lines(const smartlist_t *inp); /** DOCDOC */ /** Compute the digest of <b>cons</b>, and store the result in * <b>digest_out</b>. Return 0 on success, -1 on failure. */ /* This is a separate, mockable function so that we can override it when * fuzzing. */ MOCK_IMPL(STATIC int, consensus_compute_digest,(const char *cons, consensus_digest_t *digest_out)) Loading @@ -51,7 +54,9 @@ consensus_compute_digest,(const char *cons, return r; } /** DOCDOC */ /** Return true iff <b>d1</b> and <b>d2</b> contain the same digest */ /* This is a separate, mockable function so that we can override it when * fuzzing. */ MOCK_IMPL(STATIC int, consensus_digest_eq,(const uint8_t *d1, const uint8_t *d2)) Loading Loading @@ -1040,7 +1045,14 @@ consdiff_apply_diff(const smartlist_t *cons1, return cons2_str; } /**DOCDOC*/ /** * Helper: For every NL-terminated line in <b>s</b>, add a copy of that line * (without trailing newline) to <b>out</b>. Return -1 if there are any * non-NL terminated lines; 0 otherwise. * * Unlike smartlist_split_string, this function avoids ambiguity on its * handling of a final line that isn't NL-terminated. */ static int consensus_split_lines(smartlist_t *out, const char *s) { Loading @@ -1057,7 +1069,11 @@ consensus_split_lines(smartlist_t *out, const char *s) return 0; } /** DOCDOC */ /** Given a list of lines, return a newly allocated string containing * all of the lines, terminated with NL, concatenated. * * Unlike smartlist_join_strings(), avoids lossy operations on empty * lists. */ static char * consensus_join_lines(const smartlist_t *inp) { Loading @@ -1077,7 +1093,9 @@ consensus_join_lines(const smartlist_t *inp) return result; } /**DOCDOC */ /** Given two consensus documents, try to compute a diff between them. On * success, retun a newly allocated string containing that diff. On failure, * return NULL. */ char * consensus_diff_generate(const char *cons1, const char *cons2) Loading Loading @@ -1115,7 +1133,9 @@ consensus_diff_generate(const char *cons1, return result; } /** DOCDOC */ /** Given a consensus document and a diff, try to apply the diff to the * consensus. On success return a newly allocated string containing the new * consensus. On failure, return NULL. */ char * consensus_diff_apply(const char *consensus, const char *diff) Loading Loading
src/or/consdiff.c +26 −6 Original line number Diff line number Diff line Loading @@ -41,7 +41,10 @@ static const char* hash_token = "hash"; static char *consensus_join_lines(const smartlist_t *inp); /** DOCDOC */ /** Compute the digest of <b>cons</b>, and store the result in * <b>digest_out</b>. Return 0 on success, -1 on failure. */ /* This is a separate, mockable function so that we can override it when * fuzzing. */ MOCK_IMPL(STATIC int, consensus_compute_digest,(const char *cons, consensus_digest_t *digest_out)) Loading @@ -51,7 +54,9 @@ consensus_compute_digest,(const char *cons, return r; } /** DOCDOC */ /** Return true iff <b>d1</b> and <b>d2</b> contain the same digest */ /* This is a separate, mockable function so that we can override it when * fuzzing. */ MOCK_IMPL(STATIC int, consensus_digest_eq,(const uint8_t *d1, const uint8_t *d2)) Loading Loading @@ -1040,7 +1045,14 @@ consdiff_apply_diff(const smartlist_t *cons1, return cons2_str; } /**DOCDOC*/ /** * Helper: For every NL-terminated line in <b>s</b>, add a copy of that line * (without trailing newline) to <b>out</b>. Return -1 if there are any * non-NL terminated lines; 0 otherwise. * * Unlike smartlist_split_string, this function avoids ambiguity on its * handling of a final line that isn't NL-terminated. */ static int consensus_split_lines(smartlist_t *out, const char *s) { Loading @@ -1057,7 +1069,11 @@ consensus_split_lines(smartlist_t *out, const char *s) return 0; } /** DOCDOC */ /** Given a list of lines, return a newly allocated string containing * all of the lines, terminated with NL, concatenated. * * Unlike smartlist_join_strings(), avoids lossy operations on empty * lists. */ static char * consensus_join_lines(const smartlist_t *inp) { Loading @@ -1077,7 +1093,9 @@ consensus_join_lines(const smartlist_t *inp) return result; } /**DOCDOC */ /** Given two consensus documents, try to compute a diff between them. On * success, retun a newly allocated string containing that diff. On failure, * return NULL. */ char * consensus_diff_generate(const char *cons1, const char *cons2) Loading Loading @@ -1115,7 +1133,9 @@ consensus_diff_generate(const char *cons1, return result; } /** DOCDOC */ /** Given a consensus document and a diff, try to apply the diff to the * consensus. On success return a newly allocated string containing the new * consensus. On failure, return NULL. */ char * consensus_diff_apply(const char *consensus, const char *diff) Loading