summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2022-07-24git: Remove reason string reference from `is_valid_index()`mrb0nk500
2022-07-13git: Use an index instead of an id for creating PR directoriesmrb0nk500
PR's will now be identified by index, rather than by id. If no index is found, then it falls back to using the PR title as the directory name.
2022-07-13git: Add index typemrb0nk500
An index is a type of identifier that'll be used for identifying PR's. Indexes can either be named, or numbered, and can also contain another index within them, with each subsequent index being seperated by '-'s.
2021-08-01Initialize `cfg`, and `repos` to NULL in `main()`.mrb0nk500
2021-08-01Check if the PR root directory exists, in `main_loop()`.mrb0nk500