I found a segfault in your last release of Geany (1.23.1). When I writed over 1 800 000 000 lines, Geany was K.O ... I haven't the real number (copy -> paste -> "boum"), but it's probably an INT size (2 147 483 647).
Yes, line numbers are limited to maximum signed int, usually 2^31-1 on 32 bit systems.
Taking a line from the C language spec, what happens when you reach that limit is "undefined".
But it is also possible that you have reached a memory limit if on a 32 bit system.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2014-04-13
Not just line numbers even buffer size and offsets, Scintilla uses int all over the place where it should use more appropriate types (eg. long, unsigned long, size_t, intptr_t, ptrdiff_t, etc)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Related:
https://github.com/geany/geany/blob/1.23.1/scintilla/src/Document.h#L357
Yes, line numbers are limited to maximum signed int, usually 2^31-1 on 32 bit systems.
Taking a line from the C language spec, what happens when you reach that limit is "undefined".
But it is also possible that you have reached a memory limit if on a 32 bit system.
Not just line numbers even buffer size and offsets, Scintilla uses
int
all over the place where it should use more appropriate types (eg.long
,unsigned long
,size_t
,intptr_t
,ptrdiff_t
, etc)