Missing comma in ctime.c
(1) By Keith Medcalf (kmedcalf) on 2020-12-28 21:11:55 [source]
Index: src/ctime.c
==================================================================
--- src/ctime.c
+++ src/ctime.c
@@ -255,11 +255,11 @@
#endif
#ifdef SQLITE_ENABLE_LOCKING_STYLE
"ENABLE_LOCKING_STYLE=" CTIMEOPT_VAL(SQLITE_ENABLE_LOCKING_STYLE),
#endif
#if SQLITE_ENABLE_MATH_FUNCTIONS
- "ENABLE_MATH_FUNCTIONS"
+ "ENABLE_MATH_FUNCTIONS",
#endif
#if SQLITE_ENABLE_MEMORY_MANAGEMENT
"ENABLE_MEMORY_MANAGEMENT",
#endif
#if SQLITE_ENABLE_MEMSYS3
(2) By Roland Illig (rillig) on 2020-12-28 22:07:55 in reply to 1 [link] [source]
How could this happen at all?
The code says that this section of the file is auto-generated, and it's obviously a good idea to do this, since it's tedious to manually review all the redundancy in that part of the code.
This would also mean that both the commit from 2020-12-28 that fixed this bug and the commit from 2020-12-07 that caused the bug are wrong since no commit should ever modify generated source code.
(3) By Larry Brasfield (LarryBrasfield) on 2020-12-28 23:47:57 in reply to 2 [link] [source]
The sources in src/* are not auto-generated. You must be looking at some code which is auto-extracted and amalgamated from those sources where comments are auto-placed warning against edits.
(4) By Keith Medcalf (kmedcalf) on 2020-12-29 00:24:24 in reply to 3 [link] [source]
No, tool/mkctimec.tcl makes the declarations part of the src/ctime.c code. Unfortunately you have to manually "stuff" the output of the script into the middle of the ctime.c code replacing the autogenerated declaration part.
This is unlike tool/mksqlite3c.tcl and tool/mksqlite3h.tcl which make the entire sqlite3.c and sqlite3.h files or mkpragmatab.tcl which makes the pragma.h file for you.
(5) By Roland Illig (rillig) on 2020-12-29 01:08:02 in reply to 4 [link] [source]
No, tool/mkctimec.tcl makes the declarations part of the src/ctime.c code. Unfortunately you have to manually "stuff" the output of the script into the middle of the ctime.c code replacing the autogenerated declaration part.
But then, shouldn't tool/mkctimec.tcl generate ctime.c in a completely automatic fashion, based on a template file and the actual compile-time options? This would make any manual editing of that file wrong and the whole process less error prone.
mkctime.tcl looks great by the way, it's as simple and straight-forward as I would expect it.