aboutsummaryrefslogtreecommitdiffstats
path: root/ui-tree.c
Commit message (Expand)AuthorAgeFilesLines
* cgit_print_tree(): Free curr_rev after usage•••Fixes following memory leak seen with "PATH_INFO=/cgit/tree/": ==15715== 7 bytes in 1 blocks are definitely lost in loss record 4 of 51 ==15715== at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==15715== by 0x56F2DF1: strdup (in /usr/lib/libc-2.17.so) ==15715== by 0x46CAA8: xstrdup (wrapper.c:35) ==15715== by 0x418A4C: cgit_print_tree (ui-tree.c:274) ==15715== by 0x407D91: tree_fn (cmd.c:131) ==15715== by 0x405E16: process_request (cgit.c:574) ==15715== by 0x4074C8: cache_process (cache.c:322) ==15715== by 0x406C4F: main (cgit.c:872) Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Lukas Fleischer2013-03-041-2/+6
* ui-tree.c: Use a context structure in walk_tree()•••Use the context pointer to pass context information instead of misusing global variables, as we already did in "ui-blob.c" and in "ui-plain.c". In addition to the fixes to walk_tree(), pass the same structure to ls_tree() and ls_item() which is read_tree_recursive()-based as well. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Lukas Fleischer2013-03-041-22/+29
* ui-tree.c: Drop the header variable•••Instead, use the value of the state variable to determine whether the footer needs to be drawn. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Lukas Fleischer2013-03-041-6/+2
* ui-tree.c: Declare the state variable globally•••This allows for removing the header variable in a following patch. We can use the state variable to check whether the tail needs to be printed instead. Note that the state variable will be moved into a context structure later. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Lukas Fleischer2013-03-041-1/+2
* ui-tree.c: Pass current revision to print_object()•••No longer access the global curr_rev variable in print_object(). This will make it easier to squash the curr_rev variable into a context structure without having to pass the context to the print_object() function. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Lukas Fleischer2013-03-041-3/+3
* White space around control verbs.•••Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2013-03-041-1/+1
* Fix several whitespace errors•••* Remove whitespace at the end of lines. * Replace space indentation by tabs. * Add whitespace before/after several operators ("+", "-", "*", ...) * Add whitespace to assignments ("foo = bar;"). * Fix whitespace in parameter lists ("foobar(foo, bar, 42)"). Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Lukas Fleischer2013-03-041-2/+2
* Update git to v1.7.6.5•••struct pathspec is now used in more places. Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2013-03-021-3/+13
* ui-tree.c: add support for path-selected submodule links•••The current 'repo.module-link' option is sufficient when all gitlinks in a repository can be converted to commit links in a uniform way, but not when different submodules/paths needs different settings. This patch adds support for 'repo.module-link.<path>', which will be used for linking to submodules at paths matching one such entry. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-06-151-9/+4
* cgit.c: always setup cgit repo environment variables•••When cgit learned to setup environment variables for certain repo settings before invoking a filter process, the setup occurred inside cgit_open_filter(). This patch moves the setup out of cgit_open_filter() and into prepare_repo_cmd() to prepare for additional uses of these variables. Reviewed-by: Ferry Huberts <mailings@hupie.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-06-131-1/+1
* Merge branch 'fh/filter-api'•••Conflicts: cgit.c Lars Hjemli2011-05-231-1/+1
|\
| * cgit_open_filter: also take the repo as a parameter•••To prepare for handing repo configuration to the filter script that is executed. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Ferry Huberts2011-03-261-1/+1
* | source_filter: fix a memory leak•••Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Ferry Huberts2011-03-261-0/+2
|/
* prefer html_raw() to write()•••To make the code more consistent, and to not rely on the implementation of html(), always use html_raw(...) instead of write(htmlfd, ...). Signed-off-by: Mark Lodato <lodatom@gmail.com> Mark Lodato2010-09-041-1/+1
* fix errors in printf-style format strings•••There were many places where the arguments to a printf-like function did not match the format string. Mostly, these were a missing 'l' flag, but there were three exceptions: - In ui-stats.c, a size_t argument must be printed. C99 has the "%zu" flag for this purpose, but not all compilers support this. Therefore, we mimic what git does - use a NO_C99_FORMAT Makefile variable. - In ui-stats.c, cgit_print_error() was called with a pointer instead of a character. - In ui-log.c, the "columns" argument was never used. Signed-off-by: Mark Lodato <lodatom@gmail.com> Mark Lodato2010-09-041-2/+2
* ui-tree: Remove unnecessary path breadcrumb navigation•••The path breadcrumb navigation at the top of the 'tree' page has now been duplicated in ui-shared, which leaves the ui-tree implementation unnecessary. This patch removes the breadcrumb navigation from ui-tree, and moves the "(plain)" link that followed the breadcrumb when displaying blobs to the end of the next line, following the blob SHA1. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Johan Herland2010-06-191-13/+2
* ui-tree: add link to plain view for blobs in tree listing•••Suggested-by: Robert Weidlich <mail@robertweidlich.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2010-02-281-0/+2
* Merge branch 'stable'Lars Hjemli2009-12-121-1/+1
|\
| * Fix segfault on ppc when browsing treeMartins Polakovs2009-12-121-1/+1
* | "max-blob-size" config var to limit generated HTML size•••Sometimes it is not feasible to generate the HTML pretty-print for large files, especially if a source-filter is involved or binary data is to be displayed. The "max-blob-size" config var allows to disable HTML output for blobs bigger than X KBytes. Plain downloads are not affected. Signed-off-by: Georg Lukas <georg@op-co.de> Georg Lukas2009-11-281-0/+6
|/
* Rename "linenumbers" to "enable-tree-linenumbers", change default to "1"•••This makes the name of the cgitrc option more descriptive and at the same time changes the default from "0" to "1" in an attempt to stay backwards compatible - prior to the introduction of "source-filter" and "linenumbers", cgit always generated linenumber links in the tree view, but now this feature can be turned off (one might want to do this if the source-filter performs line-wrapping etc). While at it, the documentation is updated to match the surrounding descriptions. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-211-1/+1
* Add 'linenumbers' config option•••Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Florian Pritz2009-08-211-11/+16
* ui-tree.c: show line numbers when highlighting•••When source-filter is enabled, cgit currently will not display linenumbers in the tree view. This patch restores the linenumber function. Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Florian Pritz2009-08-211-9/+11
* Merge branch 'lh/plugins'•••Conflicts: cgit.c cgit.h Lars Hjemli2009-08-091-4/+14
|\
| * Add support for repo.commit-filter and repo.source-filter•••These options can be used to override the default commit- and source- filter settings per repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-091-4/+4
| * ui-tree: add support for source-filter option•••This new option is used to specify an external command which will be executed when displaying blob content in the tree view. Blob content will be written to STDIN of the filter and STDOUT from the filter will be included verbatim in the html output from cgit. The file name of the blob will be passed as the only argument to the filter command. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-07-311-4/+14
* | Expose file extension in tree lists as class to allow nicer tree styling•••Signed-off-by: Martin Szulecki <opensuse@sukimashita.com> Martin Szulecki2009-08-081-1/+7
|/
* fix segfault when displaying empty blobs•••When size is zero, subtracting one from it turns it into ULONG_MAX which causes an out-of-bounds access on buf. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Eric Wong2009-03-151-5/+8
* ui-tree: escape ascii-text properly in hexdump view•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-02-121-4/+9
* ui-tree: show hexdump of binary blobs•••This teaches ui-tree to detect binary blobs and display them similar to `hexdump -C` (only wider). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-01-311-23/+48
* Merge branch 'og/tree-view-selection'•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-01-271-15/+16
|\
| * changed objects are outputted, allowing for selections of code onlyOnne Gorter2009-01-101-15/+16
* | Merge branch 'lh/stats'•••Conflicts: cgit.c cgit.css cgit.h ui-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-01-271-0/+3
|\ \ | |/ |/|
| * ui-tree: add link to stats page per path•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-12-071-0/+3
* | Merge branch 'stable'Lars Hjemli2009-01-061-2/+4
|\ \
| * | ui-tree.c: do not add blank line when displaying blobs•••Also, fix a related bug in the test-suite. Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-01-061-2/+4
| |/
* / ui-log: add support for showing the full commit message•••Some users prefer to see the full message, so to make these users happy the new querystring parameter "showmsg" can be used to print the full commit message per log entry. A link is provided in the log heading to make this function accessible, and all links and forms tries to preserve the users preference. Note: the new link is not displayed on the summary page since the point of the summary page is to be a summary, but it is still obeyed if specified manually. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-11-291-1/+1
|/
* ui-tree: link to plain view instead of blob view•••The urls for plain view makes it possible to download blobs without knowing their SHA1, but the function needs to be promoted and the link from tree view seems like a perfect fit. PS: Although hidden, the blob view still is nice for direct blob access so there's no point in removing it. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-08-061-4/+4
* Adjust to new calling convention for read_tree_recursive()•••In GIT-1.6.0, read_tree_recursive takes an extra void pointer for callback data. We might want to use this to avoid some global variables, but for now lets just make sure that we can still compile. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-07-211-5/+7
* ui-tree.c: avoid peeking at GITLINK objects•••When an object in the tree has GITLINK mode-bits we don't need to get any more info about that particular object (and trying to get more info about it will usually generate an annoying warning on stderr since the object typically doesn't exist in the repo anyways). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-05-201-6/+8
* Don't specify mimetype in ui-blob.c•••But be sure to specify correct filename. This way, the client can hopefully guess a sensible mimetype based on the filename suffix, and cgit can ignore the issue altogether. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-04-081-1/+2
* Add ui-shared.h•••This is finally a proper headerfile for the shared ui-functions which used to reside in cgit.h Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-241-0/+1
* Introduce html.h•••All html-functions can be quite easily separated from the rest of cgit, so lets do it; the only issue was html_filemode which uses some git-defined macros so the function is moved into ui-shared.c::cgit_print_filemode(). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-181-1/+2
* Move cgit_repo into cgit_context•••This removes the global variable which is used to keep track of the currently selected repository, and adds a new variable in the cgit_context structure. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-02-161-1/+1
* Introduce struct cgit_context•••This struct will hold all the cgit runtime information currently found in a multitude of global variables. The first cleanup removes all querystring-related variables. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-02-161-10/+10
* Fix html error detected by test-suite•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-11-111-3/+3
* Add search parameters to cgit_log_link•••This makes the [prev] and [next] links work correctly on search results. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-11-031-1/+1
* Remove a few compiler warnings•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-09-201-1/+1
* ui-tree: show last line of blob•••The last line in a blob was never printed by ui-tree::print_object(), which was particularly annoying when the blob missed a final newline. This fixes the issue. Noticed-by: <mkraai@beckman.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-09-201-2/+5
* ui-tree: specify parameter position for all htmlf formats•••The GNU C library manual tells us that behavior is undefined if only some formats has a specification for the parameter position. Noticed-by: <mkraai@beckman.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-09-191-1/+1