Skip to content

Commit 1dbe608

Browse files
committed
Modify for alter the code's operation, keep it as same as before.
1 parent 9c2246f commit 1dbe608

1 file changed

Lines changed: 23 additions & 2 deletions

File tree

src/emc/rs274ngc/gcodemodule.cc

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,11 +193,32 @@ static InterpBase *pinterp;
193193

194194
#define callmethod(o, m, f, ...) PyObject_CallMethod((o), (char*)(m), (char*)(f), ## __VA_ARGS__)
195195

196-
static void maybe_new_line(int sequence_number=0);
196+
static void maybe_new_line();
197+
static void maybe_new_line(int sequence_number);
198+
199+
static void maybe_new_line() {
200+
if(!pinterp) return;
201+
if(interp_error) return;
202+
int sequence_number = pinterp->sequence_number();
203+
if(sequence_number == last_sequence_number)
204+
return;
205+
LineCode *new_line_code =
206+
(LineCode*)(PyObject_New(LineCode, &LineCodeType));
207+
pinterp->active_settings(new_line_code->settings);
208+
pinterp->active_g_codes(new_line_code->gcodes);
209+
pinterp->active_m_codes(new_line_code->mcodes);
210+
new_line_code->gcodes[0] = sequence_number;
211+
last_sequence_number = sequence_number;
212+
PyObject *result =
213+
callmethod(callback, "next_line", "O", new_line_code);
214+
Py_DECREF(new_line_code);
215+
if(result == NULL) interp_error ++;
216+
Py_XDECREF(result);
217+
}
218+
197219
static void maybe_new_line(int sequence_number) {
198220
if(!pinterp) return;
199221
if(interp_error) return;
200-
sequence_number=pinterp->sequence_number();
201222
if(sequence_number == last_sequence_number)
202223
return;
203224
LineCode *new_line_code =

0 commit comments

Comments
 (0)