summaryrefslogtreecommitdiff
path: root/src/trace.h
Commit message (Collapse)AuthorAgeFilesLines
* trace: always enabledEdward Thomson2021-10-181-17/+0
| | | | There's no need to make tracing opt-in; it should always be included.
* str: introduce `git_str` for internal, `git_buf` is externalethomson/gitstrEdward Thomson2021-10-171-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* trace: drop unnecessary write indirectionEdward Thomson2021-07-221-17/+9
|
* Remove macro magicCalvin Buckley2021-07-191-10/+0
|
* Variadic arguments aren't in C89Calvin Buckley2021-07-171-5/+27
| | | | | This refactors this to a wrapper function, as well as changing the existing API have a va_list and ... version.
* trace: compare against an int valueEdward Thomson2020-01-241-1/+1
| | | | | When tracing is disabled, don't let `git_trace__level` return a void, since that can't be compared against.
* trace: suffix the callbacks with `_cb`ethomson/callback_namesEdward Thomson2019-06-101-2/+2
| | | | | The trace logging callbacks should match the other callback naming conventions, using the `_cb` suffix instead of a `_callback` suffix.
* Convert usage of `git_buf_free` to new `git_buf_dispose`Patrick Steinhardt2018-06-101-1/+1
|
* Make sure to always include "common.h" firstPatrick Steinhardt2017-07-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | Next to including several files, our "common.h" header also declares various macros which are then used throughout the project. As such, we have to make sure to always include this file first in all implementation files. Otherwise, we might encounter problems or even silent behavioural differences due to macros or defines not being defined as they should be. So in fact, our header and implementation files should make sure to always include "common.h" first. This commit does so by establishing a common include pattern. Header files inside of "src" will now always include "common.h" as its first other file, separated by a newline from all the other includes to make it stand out as special. There are two cases for the implementation files. If they do have a matching header file, they will always include this one first, leading to "common.h" being transitively included as first file. If they do not have a matching header file, they instead include "common.h" as first file themselves. This fixes the outlined problems and will become our standard practice for header and source files inside of the "src/" from now on.
* Variadic macros is only available from Visual Studio 2005+Jacques Germishuys2014-07-061-1/+9
|
* Remove now-duplicated stdarg.h includeEdward Thomson2014-02-241-2/+0
|
* Fix trailing whitespacesnulltoken2013-05-151-3/+3
|
* optional tracingEdward Thomson2013-03-071-0/+56