summaryrefslogtreecommitdiff
path: root/process_multiples.c
diff options
context:
space:
mode:
authorOskar <[email protected]>2024-04-05 13:48:29 +0200
committerOskar <[email protected]>2024-04-05 13:48:29 +0200
commit918acf5dc55fa27f2ba4121b8dd07fd5cde036bd (patch)
tree23447c51fc613bfced52e48bcab00d9251142c40 /process_multiples.c
parent06936a1b2c59ccc6b13e32e52dea60c5cabb547d (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.c28
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;
}