diff options
author | Oskar <[email protected]> | 2024-04-05 13:48:29 +0200 |
---|---|---|
committer | Oskar <[email protected]> | 2024-04-05 13:48:29 +0200 |
commit | 918acf5dc55fa27f2ba4121b8dd07fd5cde036bd (patch) | |
tree | 23447c51fc613bfced52e48bcab00d9251142c40 /process_multiples.c | |
parent | 06936a1b2c59ccc6b13e32e52dea60c5cabb547d (diff) |
Working on 'N' now. Works pretty well. But it's not finished so i cant
say how well it will go when i do N plus continue or N immediate.
Diffstat (limited to 'process_multiples.c')
-rw-r--r-- | process_multiples.c | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/process_multiples.c b/process_multiples.c index 6c3b6b7..e59811c 100644 --- a/process_multiples.c +++ b/process_multiples.c @@ -165,9 +165,33 @@ uint64_t call_L(char *multiple, uint64_t focus, uint64_t Flines) { return focus; } -int call_N(char *multiple) { +uint64_t call_N(char *multiple, uint64_t focus, uint64_t Flines, char *filename) { - fprintf(stdout, "%s\n", multiple); + int imm = _IMM_NUMBER; + + if (multiple[1] == '\n') { // N will add just 1 line. + imm = _NA; + new_line(filename, focus); + return 0; + } + + if (multiple[1] == '+') { // N+ is the same as N. It will only add 1 line. + imm = _NA; + if (multiple[2] == '\n') { + new_line(filename, focus); + return 0; + } + + // N plus continue. Still figuring out how this is gonna work. + return 0; + } + + if (imm == _IMM_NUMBER) { + // N immediate, I will make its on function for it i think. + return 0; + } + + fprintf(stdout, "%s %ld\n", multiple, Flines); return 0; } |