summaryrefslogtreecommitdiff
path: root/src/message.c
Commit message (Collapse)AuthorAgeFilesLines
* str: introduce `git_str` for internal, `git_buf` is externalethomson/gitstrEdward Thomson2021-10-171-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | libgit2 has two distinct requirements that were previously solved by `git_buf`. We require: 1. A general purpose string class that provides a number of utility APIs for manipulating data (eg, concatenating, truncating, etc). 2. A structure that we can use to return strings to callers that they can take ownership of. By using a single class (`git_buf`) for both of these purposes, we have confused the API to the point that refactorings are difficult and reasoning about correctness is also difficult. Move the utility class `git_buf` to be called `git_str`: this represents its general purpose, as an internal string buffer class. The name also is an homage to Junio Hamano ("gitstr"). The public API remains `git_buf`, and has a much smaller footprint. It is generally only used as an "out" param with strict requirements that follow the documentation. (Exceptions exist for some legacy APIs to avoid breaking callers unnecessarily.) Utility functions exist to convert a user-specified `git_buf` to a `git_str` so that we can call internal functions, then converting it back again.
* buffer: git_buf_sanitize should return a valueEdward Thomson2020-11-251-1/+3
| | | | | | `git_buf_sanitize` is called with user-input, and wants to sanity-check that input. Allow it to return a value if the input was malformed in a way that we cannot cope.
* message: don't assume the comment charcmn/comment-charCarlos Martín Nieto2014-05-181-2/+2
| | | | | The comment char is configurable and we need to provide a way for the user to specify which comment char they chose for their message.
* messsage: use git_buf in prettify()Carlos Martín Nieto2014-01-271-27/+3
| | | | | A lot of the tests were checking for overflow, which we don't have anymore, so we can remove them.
* update copyrightsEdward Thomson2013-01-081-1/+1
|
* Fix warnings and merge issues on Win64Russell Belfer2012-08-231-1/+1
|
* Make git_message_prettify return bytes writtenRussell Belfer2012-08-141-12/+14
| | | | | | | | | If you want to be absolutely safe with git_message_prettify, you can now pass a NULL pointer for the buffer and get back the number of bytes that would be copied into the buffer. This means that an error is a non-negative return code and a success will be greater than zero from this function.
* Check prettify message output buffer after cleanupRussell Belfer2012-08-121-4/+6
| | | | This makes the message prettify buffer length check accurate.
* message: Expose git_message_prettify()nulltoken2012-06-191-2/+23
| | | | | | | | | | git_commit() and git_tag() no longer prettify the message by default. This has to be taken care of by the caller. This has the nice side effect of putting the caller in position to actually choose to strip the comments or not.
* msvc: Do not use `isspace` Vicent Martí2012-05-091-1/+1
| | | | Locale-aware bullshit bitting my ass again yo
* message: CleanupVicent Martí2012-05-081-2/+10
|
* message: Proper OOM handlingVicent Martí2012-05-081-3/+2
|
* commit/tag: ensure the message is cleaned upnulltoken2012-05-071-0/+54
'git commit' and 'git tag -a' enforce some conventions, like cleaning up excess whitespace and making sure that the last line ends with a '\n'. This fix replicates this behavior. Fix libgit2/libgit2sharp#117