diff options
author | Andrés <andmarti@gmail.com> | 2021-06-02 18:37:17 -0300 |
---|---|---|
committer | Andrés <andmarti@gmail.com> | 2021-06-02 18:37:17 -0300 |
commit | 619ded1af207f95fb8d93b0f120e0ad9d36daadf (patch) | |
tree | 67460b4eca1e75ca3b7952e1fe912e31c8eb841b /src | |
parent | f94b16bfb779d6c5279628030dfe6f992518735d (diff) |
Added test3 and test4
Diffstat (limited to 'src')
-rwxr-xr-x | src/gram.y | 12 | ||||
-rw-r--r-- | src/pipe.c | 4 | ||||
-rw-r--r-- | src/pipe.h | 2 |
3 files changed, 13 insertions, 5 deletions
@@ -1116,9 +1116,19 @@ command: //changed = 0; } | S_GETNUM var_or_range { - getnum($2.left.vp->row, $2.left.vp->col, $2.right.vp->row, $2.right.vp->col, fdoutput); + struct roman * roman = session->cur_doc; + struct sheet * sh = roman->cur_sh; + getnum(sh, $2.left.vp->row, $2.left.vp->col, $2.right.vp->row, $2.right.vp->col, fdoutput); } + | S_GETNUM '{' STRING '}' '!' var_or_range { + struct roman * roman = session->cur_doc; + struct sheet * sh; + if ((sh = search_sheet(roman, $3)) == NULL ) + sh = roman->cur_sh; + getnum(sh, $6.left.vp->row, $6.left.vp->col, $6.right.vp->row, $6.right.vp->col, fdoutput); + scxfree($3); + } | S_GETSTRING var_or_range { getstring($2.left.vp->row, $2.left.vp->col, $2.right.vp->row, $2.right.vp->col, fdoutput); } | S_GETEXP var_or_range { getexp($2.left.vp->row, $2.left.vp->col, $2.right.vp->row, $2.right.vp->col, fdoutput); } @@ -69,9 +69,7 @@ extern struct session * session; // FIXME - pass fd is not needed */ -void getnum(int r0, int c0, int rn, int cn, FILE * fd) { - struct roman * roman = session->cur_doc; - struct sheet * sh = roman->cur_sh; +void getnum(struct sheet * sh, int r0, int c0, int rn, int cn, FILE * fd) { struct ent ** pp; struct ent * p; int r, c; @@ -42,7 +42,7 @@ * \brief Header file for pipe.c */ -void getnum(int r0, int c0, int rn, int cn, FILE * fd); +void getnum(struct sheet * sh, int r0, int c0, int rn, int cn, FILE * fd); void getformat(int col, FILE * fd); void getfmt(int r0, int c0, int rn, int cn, FILE * fd); void getstring(int r0, int c0, int rn, int cn, FILE * fd); |