Author: stefan2 Date: Thu Aug 12 23:27:40 2010 New Revision: 985037 URL: http://svn.apache.org/viewvc?rev=985037&view=rev Log: The second (and probably last) mass change: svn_stringbuf_appendbytes has a relatively large runtime overhead if we only add single bytes - which happens frequently in svn's parser codes.
Therefore, add a specialized and simpler variant that takes exactly one character and use it in any suitable place. * subversion/include/svn_string.h (svn_stringbuf_appendbyte): declare this new API function * subversion/libsvn_subr/svn_string.c (svn_stringbuf_appendbyte): implement the new API function * subversion/libsvn_client/deprecated.c (wrapped_receiver): use new API * subversion/libsvn_diff/diff_file.c (output_unified_line): dito * subversion/libsvn_diff/parse-diff.c (parse_hunk_header, hunk_readline): dito * subversion/libsvn_fs_fs/lock.c (write_digest_file): dito * subversion/libsvn_ra_svn/marshal.c (read_item): dito * subversion/libsvn_repos/dump.c (write_hash_to_stringbuf): dito * subversion/libsvn_subr/config_file.c (parse_value, parse_option, parse_section_name): dito * subversion/libsvn_subr/prompt.c (prompt): dito * subversion/libsvn_subr/quoprint.c (encode_bytes, decode_bytes): dito * subversion/libsvn_subr/skel.c (unparse): dito * subversion/libsvn_subr/stream.c (stream_readline): dito * subversion/libsvn_subr/subst.c (keyword_printf): dito * subversion/libsvn_wc/old-and-busted.c (read_str): dito * subversion/libsvn_wc/props.c (svn_wc_canonicalize_svn_prop): dito * subversion/svn/util.c (svn_cl__get_log_message): dito * subversion/svndumpfilter/main.c (write_prop_to_stringbuf, output_revision, output_node): dito * subversion/tests/libsvn_subr/skel-test.c (put_implicit_length_byte, put_implicit_length_all_chars, put_list_start, put_list_end): dito * subversion/tests/libsvn_subr/stream-test.c (generate_test_bytes): dito Modified: subversion/branches/performance/subversion/include/svn_string.h subversion/branches/performance/subversion/libsvn_client/deprecated.c subversion/branches/performance/subversion/libsvn_diff/diff_file.c subversion/branches/performance/subversion/libsvn_diff/parse-diff.c subversion/branches/performance/subversion/libsvn_fs_fs/lock.c subversion/branches/performance/subversion/libsvn_ra_svn/marshal.c subversion/branches/performance/subversion/libsvn_repos/dump.c subversion/branches/performance/subversion/libsvn_subr/config_file.c subversion/branches/performance/subversion/libsvn_subr/prompt.c subversion/branches/performance/subversion/libsvn_subr/quoprint.c subversion/branches/performance/subversion/libsvn_subr/skel.c subversion/branches/performance/subversion/libsvn_subr/stream.c subversion/branches/performance/subversion/libsvn_subr/subst.c subversion/branches/performance/subversion/libsvn_subr/svn_string.c subversion/branches/performance/subversion/libsvn_wc/old-and-busted.c subversion/branches/performance/subversion/libsvn_wc/props.c subversion/branches/performance/subversion/svn/util.c subversion/branches/performance/subversion/svndumpfilter/main.c subversion/branches/performance/subversion/tests/libsvn_subr/skel-test.c subversion/branches/performance/subversion/tests/libsvn_subr/stream-test.c Modified: subversion/branches/performance/subversion/include/svn_string.h URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/include/svn_string.h?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/include/svn_string.h (original) +++ subversion/branches/performance/subversion/include/svn_string.h Thu Aug 12 23:27:40 2010 @@ -253,6 +253,15 @@ svn_stringbuf_chop(svn_stringbuf_t *str, void svn_stringbuf_fillchar(svn_stringbuf_t *str, unsigned char c); +/** Append a single character @a byte onto @a targetstr. + * + * reallocs if necessary. @a targetstr is affected, nothing else is. + * @since New in 1.7. + */ +void +svn_stringbuf_appendbyte(svn_stringbuf_t *targetstr, + char byte); + /** Append an array of bytes onto @a targetstr. * * reallocs if necessary. @a targetstr is affected, nothing else is. Modified: subversion/branches/performance/subversion/libsvn_client/deprecated.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_client/deprecated.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_client/deprecated.c (original) +++ subversion/branches/performance/subversion/libsvn_client/deprecated.c Thu Aug 12 23:27:40 2010 @@ -279,7 +279,7 @@ wrapped_receiver(void *baton, struct wrapped_receiver_baton_s *b = baton; svn_stringbuf_t *expanded_line = svn_stringbuf_create(line, pool); - svn_stringbuf_appendbytes(expanded_line, "\r", 1); + svn_stringbuf_appendbyte(expanded_line, '\r'); return b->orig_receiver(b->orig_baton, line_no, revision, author, date, expanded_line->data, pool); Modified: subversion/branches/performance/subversion/libsvn_diff/diff_file.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_diff/diff_file.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_diff/diff_file.c (original) +++ subversion/branches/performance/subversion/libsvn_diff/diff_file.c Thu Aug 12 23:27:40 2010 @@ -860,7 +860,7 @@ output_unified_line(svn_diff__file_outpu { if (type != svn_diff__file_output_unified_skip) { - svn_stringbuf_appendbytes(baton->hunk, curp, 1); + svn_stringbuf_appendbyte(baton->hunk, *curp); } /* We don't append the LF to extra_context, since it would * just be stripped anyway. */ Modified: subversion/branches/performance/subversion/libsvn_diff/parse-diff.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_diff/parse-diff.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_diff/parse-diff.c (original) +++ subversion/branches/performance/subversion/libsvn_diff/parse-diff.c Thu Aug 12 23:27:40 2010 @@ -201,7 +201,7 @@ parse_hunk_header(const char *header, sv p++; while (*p && *p != ' ') { - svn_stringbuf_appendbytes(range, p, 1); + svn_stringbuf_appendbyte(range, *p); p++; } if (*p != ' ') @@ -230,7 +230,7 @@ parse_hunk_header(const char *header, sv p++; while (*p && *p != ' ') { - svn_stringbuf_appendbytes(range, p, 1); + svn_stringbuf_appendbyte(range, *p); p++; } if (*p != ' ') @@ -374,7 +374,7 @@ hunk_readline(svn_stream_t *stream, else match = eol_str; - svn_stringbuf_appendbytes(str, &c, 1); + svn_stringbuf_appendbyte(str, c); } svn_stringbuf_chop(str, match - eol_str); Modified: subversion/branches/performance/subversion/libsvn_fs_fs/lock.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_fs_fs/lock.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_fs_fs/lock.c (original) +++ subversion/branches/performance/subversion/libsvn_fs_fs/lock.c Thu Aug 12 23:27:40 2010 @@ -192,7 +192,7 @@ write_digest_file(apr_hash_t *children, svn_stringbuf_appendbytes(children_list, svn__apr_hash_index_key(hi), svn__apr_hash_index_klen(hi)); - svn_stringbuf_appendbytes(children_list, "\n", 1); + svn_stringbuf_appendbyte(children_list, '\n'); } hash_store(hash, CHILDREN_KEY, sizeof(CHILDREN_KEY)-1, children_list->data, children_list->len, pool); Modified: subversion/branches/performance/subversion/libsvn_ra_svn/marshal.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_ra_svn/marshal.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_ra_svn/marshal.c (original) +++ subversion/branches/performance/subversion/libsvn_ra_svn/marshal.c Thu Aug 12 23:27:40 2010 @@ -649,7 +649,7 @@ static svn_error_t *read_item(svn_ra_svn SVN_ERR(readbuf_getchar(conn, pool, &c)); if (!svn_ctype_isalnum(c) && c != '-') break; - svn_stringbuf_appendbytes(str, &c, 1); + svn_stringbuf_appendbyte(str, c); } item->kind = SVN_RA_SVN_WORD; item->u.word = str->data; Modified: subversion/branches/performance/subversion/libsvn_repos/dump.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_repos/dump.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_repos/dump.c (original) +++ subversion/branches/performance/subversion/libsvn_repos/dump.c Thu Aug 12 23:27:40 2010 @@ -84,7 +84,7 @@ write_hash_to_stringbuf(apr_hash_t *hash keylen)); svn_stringbuf_appendbytes(*strbuf, (const char *) key, keylen); - svn_stringbuf_appendbytes(*strbuf, "\n", 1); + svn_stringbuf_appendbyte(*strbuf, '\n'); /* Output value length, then value. */ @@ -93,7 +93,7 @@ write_hash_to_stringbuf(apr_hash_t *hash value->len)); svn_stringbuf_appendbytes(*strbuf, value->data, value->len); - svn_stringbuf_appendbytes(*strbuf, "\n", 1); + svn_stringbuf_appendbyte(*strbuf, '\n'); } if (oldhash) @@ -120,7 +120,7 @@ write_hash_to_stringbuf(apr_hash_t *hash keylen)); svn_stringbuf_appendbytes(*strbuf, (const char *) key, keylen); - svn_stringbuf_appendbytes(*strbuf, "\n", 1); + svn_stringbuf_appendbyte(*strbuf, '\n'); } } svn_stringbuf_appendbytes(*strbuf, "PROPS-END\n", 10); Modified: subversion/branches/performance/subversion/libsvn_subr/config_file.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/config_file.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_subr/config_file.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/config_file.c Thu Aug 12 23:27:40 2010 @@ -163,7 +163,7 @@ parse_value(int *pch, parse_context_t *c /* last ch seen was ':' or '=' in parse_option. */ { const char char_from_int = ch; - svn_stringbuf_appendbytes(ctx->value, &char_from_int, 1); + svn_stringbuf_appendbyte(ctx->value, char_from_int); SVN_ERR(parser_getc(ctx, &ch)); } /* Leading and trailing whitespace is ignored. */ @@ -214,13 +214,12 @@ parse_value(int *pch, parse_context_t *c else { /* This is a continuation line. Read it. */ - svn_stringbuf_appendbytes(ctx->value, " ", 1); + svn_stringbuf_appendbyte(ctx->value, ' '); while (ch != EOF && ch != '\n') { const char char_from_int = ch; - svn_stringbuf_appendbytes(ctx->value, - &char_from_int, 1); + svn_stringbuf_appendbyte(ctx->value, char_from_int); SVN_ERR(parser_getc(ctx, &ch)); } /* Trailing whitespace is ignored. */ @@ -247,7 +246,7 @@ parse_option(int *pch, parse_context_t * while (ch != EOF && ch != ':' && ch != '=' && ch != '\n') { const char char_from_int = ch; - svn_stringbuf_appendbytes(ctx->option, &char_from_int, 1); + svn_stringbuf_appendbyte(ctx->option, char_from_int); SVN_ERR(parser_getc(ctx, &ch)); } @@ -290,7 +289,7 @@ parse_section_name(int *pch, parse_conte while (ch != EOF && ch != ']' && ch != '\n') { const char char_from_int = ch; - svn_stringbuf_appendbytes(ctx->section, &char_from_int, 1); + svn_stringbuf_appendbyte(ctx->section, char_from_int); SVN_ERR(parser_getc(ctx, &ch)); } Modified: subversion/branches/performance/subversion/libsvn_subr/prompt.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/prompt.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_subr/prompt.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/prompt.c Thu Aug 12 23:27:40 2010 @@ -147,7 +147,7 @@ prompt(const char **result, SVN_ERR_MALFUNCTION(); } - svn_stringbuf_appendbytes(strbuf, &c, 1); + svn_stringbuf_appendbyte(strbuf, c); } } else Modified: subversion/branches/performance/subversion/libsvn_subr/quoprint.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/quoprint.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_subr/quoprint.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/quoprint.c Thu Aug 12 23:27:40 2010 @@ -92,7 +92,7 @@ encode_bytes(svn_stringbuf_t *str, const /* Encode this character. */ if (ENCODE_AS_LITERAL(*p)) { - svn_stringbuf_appendbytes(str, p, 1); + svn_stringbuf_appendbyte(str, *p); (*linelen)++; } else @@ -218,7 +218,7 @@ decode_bytes(svn_stringbuf_t *str, const { /* Literal character; append it if it's valid as such. */ if (VALID_LITERAL(*inbuf)) - svn_stringbuf_appendbytes(str, inbuf, 1); + svn_stringbuf_appendbyte(str, *inbuf); *inbuflen = 0; } else if (*inbuf == '=' && *inbuflen == 2 && inbuf[1] == '\n') @@ -234,7 +234,7 @@ decode_bytes(svn_stringbuf_t *str, const if (find1 != NULL && find2 != NULL) { c = ((find1 - hextab) << 4) | (find2 - hextab); - svn_stringbuf_appendbytes(str, &c, 1); + svn_stringbuf_appendbyte(str, c); } *inbuflen = 0; } Modified: subversion/branches/performance/subversion/libsvn_subr/skel.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/skel.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_subr/skel.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/skel.c Thu Aug 12 23:27:40 2010 @@ -535,7 +535,7 @@ unparse(const svn_skel_t *skel, svn_stri } /* Emit a closing parenthesis. */ - svn_stringbuf_appendbytes(str, ")", 1); + svn_stringbuf_appendbyte(str, ')'); } return str; Modified: subversion/branches/performance/subversion/libsvn_subr/stream.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/stream.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_subr/stream.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/stream.c Thu Aug 12 23:27:40 2010 @@ -306,7 +306,7 @@ stream_readline(svn_stringbuf_t **string else match = eol_str; - svn_stringbuf_appendbytes(str, &c, 1); + svn_stringbuf_appendbyte(str, c); } *eof = FALSE; Modified: subversion/branches/performance/subversion/libsvn_subr/subst.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/subst.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_subr/subst.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/subst.c Thu Aug 12 23:27:40 2010 @@ -211,10 +211,10 @@ keyword_printf(const char *fmt, svn_stringbuf_appendcstr(value, url); break; case '%': /* '%%' => a literal % */ - svn_stringbuf_appendbytes(value, cur, 1); + svn_stringbuf_appendbyte(value, *cur); break; case '\0': /* '%' as the last character of the string. */ - svn_stringbuf_appendbytes(value, cur, 1); + svn_stringbuf_appendbyte(value, *cur); /* Now go back one character, since this was just a one character * sequence, whereas all others are two characters, and we do not * want to skip the null terminator entirely and carry on Modified: subversion/branches/performance/subversion/libsvn_subr/svn_string.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_subr/svn_string.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_subr/svn_string.c (original) +++ subversion/branches/performance/subversion/libsvn_subr/svn_string.c Thu Aug 12 23:27:40 2010 @@ -385,6 +385,30 @@ svn_stringbuf_ensure(svn_stringbuf_t *st void +svn_stringbuf_appendbyte(svn_stringbuf_t *str, char byte) +{ + /* In most cases, there will be pre-allocated memory left + * to just write the new byte at the end of the used section + * and terminate the string properly. + */ + apr_size_t old_len = str->len; + if (str->blocksize > old_len + 1) + { + str->data[old_len] = byte; + str->data[old_len+1] = '\0'; + str->len = old_len+1; + } + else + { + /* we need to re-allocate the string buffer + * -> let the more generic implementation take care of that part + */ + svn_stringbuf_appendbytes(str, &byte, 1); + } +} + + +void svn_stringbuf_appendbytes(svn_stringbuf_t *str, const char *bytes, apr_size_t count) { Modified: subversion/branches/performance/subversion/libsvn_wc/old-and-busted.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_wc/old-and-busted.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_wc/old-and-busted.c (original) +++ subversion/branches/performance/subversion/libsvn_wc/old-and-busted.c Thu Aug 12 23:27:40 2010 @@ -164,7 +164,7 @@ read_str(const char **result, svn_stringbuf_appendbytes(s, start, *buf - start); (*buf)++; SVN_ERR(read_escaped(&c, buf, end)); - svn_stringbuf_appendbytes(s, &c, 1); + svn_stringbuf_appendbyte(s, c); start = *buf; } else Modified: subversion/branches/performance/subversion/libsvn_wc/props.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_wc/props.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/libsvn_wc/props.c (original) +++ subversion/branches/performance/subversion/libsvn_wc/props.c Thu Aug 12 23:27:40 2010 @@ -2632,7 +2632,7 @@ svn_wc_canonicalize_svn_prop(const svn_s if (propval->data[propval->len - 1] != '\n') { new_value = svn_stringbuf_create_from_string(propval, pool); - svn_stringbuf_appendbytes(new_value, "\n", 1); + svn_stringbuf_appendbyte(new_value, '\n'); } /* Make sure this is a valid externals property. Do not Modified: subversion/branches/performance/subversion/svn/util.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/svn/util.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/svn/util.c (original) +++ subversion/branches/performance/subversion/svn/util.c Thu Aug 12 23:27:40 2010 @@ -763,9 +763,9 @@ svn_cl__get_log_message(const char **log && item->state_flags & SVN_CLIENT_COMMIT_ITEM_LOCK_TOKEN) unlock = 'U'; - svn_stringbuf_appendbytes(tmp_message, &text_mod, 1); - svn_stringbuf_appendbytes(tmp_message, &prop_mod, 1); - svn_stringbuf_appendbytes(tmp_message, &unlock, 1); + svn_stringbuf_appendbyte(tmp_message, text_mod); + svn_stringbuf_appendbyte(tmp_message, prop_mod); + svn_stringbuf_appendbyte(tmp_message, unlock); if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_IS_COPY) /* History included via copy/move. */ svn_stringbuf_appendcstr(tmp_message, "+ "); Modified: subversion/branches/performance/subversion/svndumpfilter/main.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/svndumpfilter/main.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/svndumpfilter/main.c (original) +++ subversion/branches/performance/subversion/svndumpfilter/main.c Thu Aug 12 23:27:40 2010 @@ -91,20 +91,20 @@ write_prop_to_stringbuf(svn_stringbuf_t bytes_used = apr_snprintf(buf, sizeof(buf), "%d", namelen); svn_stringbuf_appendbytes(*strbuf, buf, bytes_used); - svn_stringbuf_appendbytes(*strbuf, "\n", 1); + svn_stringbuf_appendbyte(*strbuf, '\n'); svn_stringbuf_appendbytes(*strbuf, name, namelen); - svn_stringbuf_appendbytes(*strbuf, "\n", 1); + svn_stringbuf_appendbyte(*strbuf, '\n'); /* Output value length, then value. */ svn_stringbuf_appendbytes(*strbuf, "V ", 2); bytes_used = apr_snprintf(buf, sizeof(buf), "%" APR_SIZE_T_FMT, value->len); svn_stringbuf_appendbytes(*strbuf, buf, bytes_used); - svn_stringbuf_appendbytes(*strbuf, "\n", 1); + svn_stringbuf_appendbyte(*strbuf, '\n'); svn_stringbuf_appendbytes(*strbuf, value->data, value->len); - svn_stringbuf_appendbytes(*strbuf, "\n", 1); + svn_stringbuf_appendbyte(*strbuf, '\n'); } @@ -365,19 +365,19 @@ output_revision(struct revision_baton_t bytes_used = apr_snprintf(buf, sizeof(buf), ": %" APR_SIZE_T_FMT, props->len); svn_stringbuf_appendbytes(rb->header, buf, bytes_used); - svn_stringbuf_appendbytes(rb->header, "\n", 1); + svn_stringbuf_appendbyte(rb->header, '\n'); } svn_stringbuf_appendcstr(rb->header, SVN_REPOS_DUMPFILE_CONTENT_LENGTH); bytes_used = apr_snprintf(buf, sizeof(buf), ": %" APR_SIZE_T_FMT, props->len); svn_stringbuf_appendbytes(rb->header, buf, bytes_used); - svn_stringbuf_appendbytes(rb->header, "\n", 1); + svn_stringbuf_appendbyte(rb->header, '\n'); /* put an end to headers */ - svn_stringbuf_appendbytes(rb->header, "\n", 1); + svn_stringbuf_appendbyte(rb->header, '\n'); /* put an end to revision */ - svn_stringbuf_appendbytes(props, "\n", 1); + svn_stringbuf_appendbyte(props, '\n'); /* write out the revision */ /* Revision is written out in the following cases: @@ -633,7 +633,7 @@ output_node(struct node_baton_t *nb) bytes_used = apr_snprintf(buf, sizeof(buf), ": %" APR_SIZE_T_FMT, nb->props->len); svn_stringbuf_appendbytes(nb->header, buf, bytes_used); - svn_stringbuf_appendbytes(nb->header, "\n", 1); + svn_stringbuf_appendbyte(nb->header, '\n'); } if (nb->has_text) { @@ -642,16 +642,16 @@ output_node(struct node_baton_t *nb) bytes_used = apr_snprintf(buf, sizeof(buf), ": %" SVN_FILESIZE_T_FMT, nb->tcl); svn_stringbuf_appendbytes(nb->header, buf, bytes_used); - svn_stringbuf_appendbytes(nb->header, "\n", 1); + svn_stringbuf_appendbyte(nb->header, '\n'); } svn_stringbuf_appendcstr(nb->header, SVN_REPOS_DUMPFILE_CONTENT_LENGTH); bytes_used = apr_snprintf(buf, sizeof(buf), ": %" SVN_FILESIZE_T_FMT, (svn_filesize_t) (nb->props->len + nb->tcl)); svn_stringbuf_appendbytes(nb->header, buf, bytes_used); - svn_stringbuf_appendbytes(nb->header, "\n", 1); + svn_stringbuf_appendbyte(nb->header, '\n'); /* put an end to headers */ - svn_stringbuf_appendbytes(nb->header, "\n", 1); + svn_stringbuf_appendbyte(nb->header, '\n'); /* 3. output all the stuff */ Modified: subversion/branches/performance/subversion/tests/libsvn_subr/skel-test.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/libsvn_subr/skel-test.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/tests/libsvn_subr/skel-test.c (original) +++ subversion/branches/performance/subversion/tests/libsvn_subr/skel-test.c Thu Aug 12 23:27:40 2010 @@ -184,9 +184,9 @@ put_implicit_length_byte(svn_stringbuf_t && ! skel_is_space(term) && ! skel_is_paren(term)) abort(); - svn_stringbuf_appendbytes(str, &byte, 1); + svn_stringbuf_appendbyte(str, byte); if (term != '\0') - svn_stringbuf_appendbytes(str, &term, 1); + svn_stringbuf_appendbyte(str, term); } @@ -239,7 +239,7 @@ put_implicit_length_all_chars(svn_string svn_stringbuf_appendbytes(str, name, len); if (term != '\0') - svn_stringbuf_appendbytes(str, &term, 1); + svn_stringbuf_appendbyte(str, term); } @@ -461,7 +461,7 @@ put_list_start(svn_stringbuf_t *str, cha svn_stringbuf_appendcstr(str, "("); for (i = 0; i < len; i++) - svn_stringbuf_appendbytes(str, &space, 1); + svn_stringbuf_appendbyte(str, space); } @@ -476,7 +476,7 @@ put_list_end(svn_stringbuf_t *str, char abort(); for (i = 0; i < len; i++) - svn_stringbuf_appendbytes(str, &space, 1); + svn_stringbuf_appendbyte(str, space); svn_stringbuf_appendcstr(str, ")"); } Modified: subversion/branches/performance/subversion/tests/libsvn_subr/stream-test.c URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/libsvn_subr/stream-test.c?rev=985037&r1=985036&r2=985037&view=diff ============================================================================== --- subversion/branches/performance/subversion/tests/libsvn_subr/stream-test.c (original) +++ subversion/branches/performance/subversion/tests/libsvn_subr/stream-test.c Thu Aug 12 23:27:40 2010 @@ -128,7 +128,7 @@ generate_test_bytes(int num_bytes, apr_p for (total = 0, repeat = repeat_iter = 1, c = 0; total < num_bytes; total++) { - svn_stringbuf_appendbytes(buffer, &c, 1); + svn_stringbuf_appendbytes(buffer, c); repeat_iter--; if (repeat_iter == 0)