summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-01config: Use `parse_key_value_file()`, rather than doing it manually inmrb0nk500
`parse_config()` This greatly simplifies the code, and makes it more readable.
2022-08-01git: Make sure `pr->merge_branch` uses `free()` instead ofmrb0nk500
`free_git_branch()` Forgot to commit this when changing `merge_branch` to a string.
2022-08-01git, keyword: Move `parse_key_value_file()` to `keyword.{c,h}`mrb0nk500
2022-08-01git: Make `parse_key_value_file()` externally accessablemrb0nk500
2022-08-01git: Replace all uses of `parse_colon_key_value_file()` withmrb0nk500
`parse_key_value_file()`
2022-08-01git: Rename `parse_colon_key_value_file()` to `parse_key_value_file()`,mrb0nk500
and make it more generic This will allow us to parse pretty much anything with a key, value pair seperated by some delimiter(s).
2022-08-01git: Add `merge-branch` keyword to list of info file keywordsmrb0nk500
2022-08-01git: Make `merge_branch` a string instead of a `git_branch *`mrb0nk500
2022-08-01git: Add `parse_remote_branch()` callbackmrb0nk500
This needs to be done in order to properly allocate the remote branch before setting it's members.
2022-07-31git: Add support for specifying the name of a repo when getting, andmrb0nk500
creating PRs This allows for repos to have their own set of PRs, rather than only having a global set of PRs. Although, if you leave the repo name empty, then it will treat it as a global PR, rather than a repo specific PR.
2022-07-31git: Make use of both `is_dir()`, and `mkdirp()` inmrb0nk500
`create_pull_request_dir()`
2022-07-31misc: Add `is_dir()`, and `mkdirp()`mrb0nk500
`is_dir()` checks if the supplied path is a directory, and returns 1 if it's a directory, 0 if it isn't a directory, and -1 if it doesn't exist. `mkdirp()` works like `mkdir()` except that it also creates parent directories if needed.
2022-07-31misc: Make sure that `s` starts at the character before the delimiter inmrb0nk500
`find_delm()` Also `s` doesn't get incremented when checking if the current character is a backslash now.
2022-07-31git: Use `format_len()` instead of `strlen()` when creating the repomrb0nk500
path in `init_git()`
2022-07-31pullreqd, git: Replace every current instance of `git_repository` with ↵mrb0nk500
`git_repo` This is done in order to make it easier to get the name of the repo.
2022-07-31git: Use `linked_list_to_array()` to add create the repo table, rathermrb0nk500
than doing it manually in `init_git`
2022-07-31git: Add `git_repo` structmrb0nk500
This will be used to replace most instances of `git_repository`.
2022-07-30git: Add `cleanup_pull_request()`mrb0nk500
2022-07-30git: Properly sanitize, and format the patch file name inmrb0nk500
`parse_patch_list()`
2022-07-30git: Make sure `f->name` is NULL before freeing `f` inmrb0nk500
`parse_{comments,info}_file_path`
2022-07-30git: Check if either `lhs`, or `buf` are empty inmrb0nk500
`parse_colon_key_value_file()`
2022-07-30git: Replace `filename` with `path` in `create_file()`mrb0nk500
2022-07-30keyword: Make sure `tm_isdst` is negative in `get_keyword_value()`mrb0nk500
This needs to be done in order to properly correct for DST.
2022-07-30config: Use string instead of int in `check_port()`mrb0nk500
oof, forgot that `config.port` is a string.
2022-07-30git: Add missing extern definition for `get_pull_request()`mrb0nk500
2022-07-28everywhere: Fix compiler errors, compiler warnings, and correct typosmrb0nk500
2022-07-28index: rename typedef `index` to `index_t`mrb0nk500
This had to be done because `index()` is a function in the standard library.
2022-07-28config: Make use of `keyword` for parsing config filesmrb0nk500
This get's rid of the old `config_opt` parser, which was way too specific for parsing config files.
2022-07-28keyword: Add `get_keyword_offset_ptr()`mrb0nk500
2022-07-28keyword: Make `keyword_cb`, and `set_keyword()` return an `int`mrb0nk500
`set_keyword()` now checks the return value of the callback to determine whether to return early, fallback to the default, or return an error if the callback returns true, false, and -1 respectivly.
2022-07-28git: Implement all of `get_pull_request()`mrb0nk500
`get_pull_request()` takes an index, and the main PR root, and returns the PR of the supplied index if it exists, or NULL if no PR with that index exists.
2022-07-28linked_list: Add `linked_list_to_array()`mrb0nk500
This function takes the given linked list, and creates a type generic pointer array from it.
2022-07-27misc: Actually return pointer to the first non-delimited character aftermrb0nk500
the end of the range in `get_str_delm_range()`
2022-07-27misc: Use `find_delm()` when finding the end of the range inmrb0nk500
`get_str_delm_range()`
2022-07-27misc: Make `find_delm()` account for escaped delimiters.mrb0nk500
2022-07-27misc: Add `find_delm()`, and `get_str_delm_range()`mrb0nk500
`find_delm()` finds the first matched delimiter of the supplied delimiter(s), and either returns the pointer to the first non-delimiter character after the match, or the match itself if `skip_delm` is true, or false respectivly. `get_str_delm_range()` finds, and returns the string in between the supplied starting, and ending delimiter(s). It also returns the pointer to the first non-delimiter character after the end of the range in `rhs`.
2022-07-27misc: Add `\r`, and `\n` to the list of whitespace thatmrb0nk500
`skip_whitespace()` can skip past.
2022-07-27misc: Use `is_empty()` instead of just checking if `*str` is NULL inmrb0nk500
`get_line()`
2022-07-27misc: Add `is_empty()`, and `skip_whitespace()`mrb0nk500
2022-07-27misc: Make `get_line()` simpler by using `strcspn()`mrb0nk500
2022-07-27git: Update definition of `create_pull_request_dir()` in `git.h`mrb0nk500
Forgot to do that when first implementing the index related stuff.
2022-07-27git: Replace all uses of `git_repo` with the more generic `linked_list`mrb0nk500
We don't need a type specific linked list anymore, so we can just get rid of it, plus it makes the code much cleaner in the process.
2022-07-27linked_list: Add `cleanup_linked_list()`mrb0nk500
This function cleans up a linked list by removing every node in the list.
2022-07-26git: Add `create_file()`mrb0nk500
2022-07-26git: Remove definition of `index` struct from `git.h`mrb0nk500
oof, forgot to commit this when moving all the index related stuff to `index.{c,h}`.
2022-07-26linked_list: Add `linked_list` type.mrb0nk500
This is a type generic doubly linked list implementation. I used the implementation from DevkitPro's libnds library as a baseline. Link to libnds implementation: https://github.com/devkitPro/libnds/blob/master/source/arm9/linkedlist.c
2022-07-26keyword: Added `keyword` typemrb0nk500
This will allow for easy parsing of stuff like the PR `info`, PR `comments`, and config files.
2022-07-26index: Add `index_path_exists()`mrb0nk500
This function checks if the converted path of a given index exists, or not. It also returns the converted path in `path` if the path exists.
2022-07-26index: Add a function for converting an index into a string.mrb0nk500
2022-07-26git, index: Move index related functions to `index.{c,h}`mrb0nk500