On Wed, Aug 05, 2020 at 05:20:26PM +0200, Luc Van Oostenryck wrote: > On Wed, Aug 05, 2020 at 01:21:41PM +0200, Alexey Gladkov wrote: > > On Wed, Aug 05, 2020 at 01:04:18PM +0200, Luc Van Oostenryck wrote: > > > On Wed, Aug 05, 2020 at 10:37:21AM +0000, Uwe Kleine-König wrote: > > > > > > > > `dissect` seems to be fine, there is only `/lib/systemd/systemd-dissect` in Debian. > > > > > > > > Alternatives that come to my mind are: `sein` (which is German for "be") or `semind` (which sounds a bit like "the mind"). > > > > If there were a mode to emit a tag file (as `ctags` and `etags` do) to be used in an editor, also `stags` is funny. > > > > It looks like a feature request :) > > > > > > > > > > All of them seem to be free to be used. > > > > I like 'semind'. > > Excellent. > Can I apply the attached patch with your signoff and you as author? Sure. > -- Luc > From af1f245feffd2a3a299fad6489dad76066604002 Mon Sep 17 00:00:00 2001 > From: Alexey Gladkov <gladkov.alexey@xxxxxxxxx> > Date: Wed, 5 Aug 2020 17:00:21 +0200 > Subject: [PATCH] sindex: rename it to 'semind' > > The name 'sindex' is already used by another package (biosquid). > > So it was decided to rename it to 'semind'. > > --- > .gitignore | 2 +- > Makefile | 14 +- > sindex.1 => semind.1 | 18 +-- > sindex.c => semind.c | 356 +++++++++++++++++++++---------------------- > 4 files changed, 195 insertions(+), 195 deletions(-) > rename sindex.1 => semind.1 (91%) > rename sindex.c => semind.c (72%) > > diff --git a/.gitignore b/.gitignore > index 58598364aac5..63c74afdb156 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -19,7 +19,7 @@ graph > obfuscate > sparse > sparse-llvm > -sindex > +semind > test-dissect > test-inspect > test-lexing > diff --git a/Makefile b/Makefile > index fea2d74ff59a..639d4f518b7a 100644 > --- a/Makefile > +++ b/Makefile > @@ -157,17 +157,17 @@ ifeq ($(HAVE_SQLITE),yes) > SQLITE_VERSION:=$(shell $(PKG_CONFIG) --modversion sqlite3) > SQLITE_VNUMBER:=$(shell printf '%d%02d%02d' $(subst ., ,$(SQLITE_VERSION))) > ifeq ($(shell expr "$(SQLITE_VNUMBER)" '>=' 32400),1) > -PROGRAMS += sindex > -INST_PROGRAMS += sindex > -INST_MAN1 += sindex.1 > -sindex-ldlibs := $(shell $(PKG_CONFIG) --libs sqlite3) > -sindex-cflags := $(shell $(PKG_CONFIG) --cflags sqlite3) > -sindex-cflags += -std=gnu99 > +PROGRAMS += semind > +INST_PROGRAMS += semind > +INST_MAN1 += semind.1 > +semind-ldlibs := $(shell $(PKG_CONFIG) --libs sqlite3) > +semind-cflags := $(shell $(PKG_CONFIG) --cflags sqlite3) > +semind-cflags += -std=gnu99 > else > $(warning Your SQLite3 version ($(SQLITE_VERSION)) is too old, 3.24.0 or later is required.) > endif > else > -$(warning Your system does not have sqlite3, disabling sindex) > +$(warning Your system does not have sqlite3, disabling semind) > endif > > # Can we use gtk (needed for test-inspect) > diff --git a/sindex.1 b/semind.1 > similarity index 91% > rename from sindex.1 > rename to semind.1 > index 06b0bcff3cd0..44e79346644d 100644 > --- a/sindex.1 > +++ b/semind.1 > @@ -1,27 +1,27 @@ > .\" Sindex manpage by Alexey Gladkov > -.TH sindex "1" > +.TH semind "1" > . > .SH NAME > -sindex \- Semantic Indexer for C > +semind \- Semantic Indexer for C > . > .SH SYNOPSIS > -.B sindex > +.B semind > [\fIoptions\fR] > .br > -.B sindex > +.B semind > [\fIoptions\fR] \fIadd\fR [\fIcommand options\fR] [\fI--\fR] [\fIcompiler options\fR] [\fIfiles...\fR] > .br > -.B sindex > +.B semind > [\fIoptions\fR] \fIrm\fR [\fIcommand options\fR] \fIpattern\fR > .br > -.B sindex > +.B semind > [\fIoptions\fR] \fIsearch\fR [\fIcommand options\fR] [\fIpattern\fR] > .br > -.B sindex [\fIoptions\fR] \fIsearch\fR [\fIcommand options\fR] (\fI-e\fR|\fI-l\fR) \fIfilename\fR:\fIlinenr\fR:\fIcolumn\fR > +.B semind [\fIoptions\fR] \fIsearch\fR [\fIcommand options\fR] (\fI-e\fR|\fI-l\fR) \fIfilename\fR:\fIlinenr\fR:\fIcolumn\fR > .br > .SH DESCRIPTION > .P > -sindex is the simple to use cscope-like tool based on sparse/dissect. Unlike > +semind is the simple to use cscope-like tool based on sparse/dissect. Unlike > cscope it runs after pre-processor and thus it can't index the code filtered out > by ifdef's, but otoh it understands how the symbol is used and it can track the > usage of struct members. > @@ -44,7 +44,7 @@ wildcard pattern. > .SH COMMON OPTIONS > .TP > \fB-D\fR, \fB--database=FILE\fR > -specify database file (default: ./sindex.sqlite). > +specify database file (default: ./semind.sqlite). > .TP > \fB-v\fR, \fB--verbose\fR > show information about what is being done. > diff --git a/sindex.c b/semind.c > similarity index 72% > rename from sindex.c > rename to semind.c > index bff6d8c4df84..911fc7470a30 100644 > --- a/sindex.c > +++ b/semind.c > @@ -1,5 +1,5 @@ > /* > - * sindex - semantic indexer for C. > + * semind - semantic indexer for C. > * > * Copyright (C) 2020 Alexey Gladkov > */ > @@ -23,44 +23,44 @@ > #define U_DEF (0x100 << U_SHIFT) > #define SINDEX_DATABASE_VERSION 1 > > -#define message(fmt, ...) sindex_error(0, 0, (fmt), ##__VA_ARGS__) > +#define message(fmt, ...) semind_error(0, 0, (fmt), ##__VA_ARGS__) > > static const char *progname; > -static const char *sindex_command = NULL; > +static const char *semind_command = NULL; > > // common options > -static const char *sindex_dbfile = "sindex.sqlite"; > -static int sindex_verbose = 0; > +static const char *semind_dbfile = "semind.sqlite"; > +static int semind_verbose = 0; > static char cwd[PATH_MAX]; > static size_t n_cwd; > > // 'add' command options > -static struct string_list *sindex_filelist = NULL; > -static int sindex_include_local_syms = 0; > +static struct string_list *semind_filelist = NULL; > +static int semind_include_local_syms = 0; > > -struct sindex_streams { > +struct semind_streams { > sqlite3_int64 id; > }; > > -static struct sindex_streams *sindex_streams = NULL; > -static int sindex_streams_nr = 0; > +static struct semind_streams *semind_streams = NULL; > +static int semind_streams_nr = 0; > > // 'search' command options > -static int sindex_search_modmask; > -static int sindex_search_modmask_defined = 0; > -static int sindex_search_kind = 0; > -static char *sindex_search_path = NULL; > -static char *sindex_search_symbol = NULL; > -static const char *sindex_search_format = "(%m) %f\t%l\t%c\t%C\t%s"; > +static int semind_search_modmask; > +static int semind_search_modmask_defined = 0; > +static int semind_search_kind = 0; > +static char *semind_search_path = NULL; > +static char *semind_search_symbol = NULL; > +static const char *semind_search_format = "(%m) %f\t%l\t%c\t%C\t%s"; > > #define EXPLAIN_LOCATION 1 > #define USAGE_BY_LOCATION 2 > -static int sindex_search_by_location; > -static char *sindex_search_filename; > -static int sindex_search_line; > -static int sindex_search_column; > +static int semind_search_by_location; > +static char *semind_search_filename; > +static int semind_search_line; > +static int semind_search_column; > > -static sqlite3 *sindex_db = NULL; > +static sqlite3 *semind_db = NULL; > static sqlite3_stmt *lock_stmt = NULL; > static sqlite3_stmt *unlock_stmt = NULL; > static sqlite3_stmt *insert_rec_stmt = NULL; > @@ -77,9 +77,9 @@ struct command { > > static void show_usage(void) > { > - if (sindex_command) > + if (semind_command) > printf("Try '%s %s --help' for more information.\n", > - progname, sindex_command); > + progname, semind_command); > else > printf("Try '%s --help' for more information.\n", > progname); > @@ -111,7 +111,7 @@ static void show_help(int ret) > "\n" > "Report bugs to authors.\n" > "\n", > - progname, sindex_dbfile); > + progname, semind_dbfile); > exit(ret); > } > > @@ -179,17 +179,17 @@ static void show_help_search(int ret) > exit(ret); > } > > -static void sindex_print_progname(void) > +static void semind_print_progname(void) > { > fprintf(stderr, "%s: ", progname); > - if (sindex_command) > - fprintf(stderr, "%s: ", sindex_command); > + if (semind_command) > + fprintf(stderr, "%s: ", semind_command); > } > > -static void sindex_error(int status, int errnum, const char *fmt, ...) > +static void semind_error(int status, int errnum, const char *fmt, ...) > { > va_list ap; > - sindex_print_progname(); > + semind_print_progname(); > > va_start(ap, fmt); > vfprintf(stderr, fmt, ap); > @@ -209,10 +209,10 @@ static void set_search_modmask(const char *v) > size_t n = strlen(v); > > if (n != 1 && n != 3) > - sindex_error(1, 0, "the length of mode value must be 1 or 3: %s", v); > + semind_error(1, 0, "the length of mode value must be 1 or 3: %s", v); > > - sindex_search_modmask_defined = 1; > - sindex_search_modmask = 0; > + semind_search_modmask_defined = 1; > + semind_search_modmask = 0; > > if (n == 1) { > switch (v[0]) { > @@ -220,10 +220,10 @@ static void set_search_modmask(const char *v) > case 'w': v = "ww-"; break; > case 'm': v = "mmm"; break; > case '-': v = "---"; break; > - default: sindex_error(1, 0, "unknown modificator: %s", v); > + default: semind_error(1, 0, "unknown modificator: %s", v); > } > } else if (!strcmp(v, "def")) { > - sindex_search_modmask = U_DEF; > + semind_search_modmask = U_DEF; > return; > } > > @@ -235,11 +235,11 @@ static void set_search_modmask(const char *v) > > for (int i = 0; i < 3; i++) { > switch (v[i]) { > - case 'r': sindex_search_modmask |= modes[i * 3]; break; > - case 'w': sindex_search_modmask |= modes[i * 3 + 1]; break; > - case 'm': sindex_search_modmask |= modes[i * 3 + 2]; break; > + case 'r': semind_search_modmask |= modes[i * 3]; break; > + case 'w': semind_search_modmask |= modes[i * 3 + 1]; break; > + case 'm': semind_search_modmask |= modes[i * 3 + 2]; break; > case '-': break; > - default: sindex_error(1, 0, > + default: semind_error(1, 0, > "unknown modificator in the mode value" > " (`r', `w', `m' or `-' expected): %c", v[i]); > } > @@ -260,18 +260,18 @@ static void parse_cmdline(int argc, char **argv) > char *env; > > if ((env = getenv("SINDEX_DATABASE")) != NULL) > - sindex_dbfile = env; > + semind_dbfile = env; > > while ((c = getopt_long(argc, argv, "+B:D:vh", long_options, NULL)) != -1) { > switch (c) { > case 'D': > - sindex_dbfile = optarg; > + semind_dbfile = optarg; > break; > case 'B': > basedir = optarg; > break; > case 'v': > - sindex_verbose++; > + semind_verbose++; > break; > case 'h': > show_help(0); > @@ -285,7 +285,7 @@ static void parse_cmdline(int argc, char **argv) > > if (basedir) { > if (!realpath(basedir, cwd)) > - sindex_error(1, errno, "unable to get project base directory"); > + semind_error(1, errno, "unable to get project base directory"); > n_cwd = strlen(cwd); > } > } > @@ -305,10 +305,10 @@ static void parse_cmdline_add(int argc, char **argv) > while ((c = getopt_long(argc, argv, "+vh", long_options, NULL)) != -1) { > switch (c) { > case 1: > - sindex_include_local_syms = 1; > + semind_include_local_syms = 1; > break; > case 'v': > - sindex_verbose++; > + semind_verbose++; > break; > case 'h': > show_help_add(0); > @@ -328,7 +328,7 @@ done: > // step back since sparse_initialize will ignore argv[0]. > optind--; > > - sparse_initialize(argc - optind, argv + optind, &sindex_filelist); > + sparse_initialize(argc - optind, argv + optind, &semind_filelist); > } > > static void parse_cmdline_rm(int argc, char **argv) > @@ -343,7 +343,7 @@ static void parse_cmdline_rm(int argc, char **argv) > while ((c = getopt_long(argc, argv, "+vh", long_options, NULL)) != -1) { > switch (c) { > case 'v': > - sindex_verbose++; > + semind_verbose++; > break; > case 'h': > show_help_rm(0); > @@ -374,36 +374,36 @@ static void parse_cmdline_search(int argc, char **argv) > while ((c = getopt_long(argc, argv, "+ef:m:k:p:lvh", long_options, NULL)) != -1) { > switch (c) { > case 'e': > - sindex_search_by_location = EXPLAIN_LOCATION; > + semind_search_by_location = EXPLAIN_LOCATION; > break; > case 'l': > - sindex_search_by_location = USAGE_BY_LOCATION; > + semind_search_by_location = USAGE_BY_LOCATION; > break; > case 'f': > - sindex_search_format = optarg; > + semind_search_format = optarg; > break; > case 'm': > set_search_modmask(optarg); > break; > case 'k': > - sindex_search_kind = tolower(optarg[0]); > + semind_search_kind = tolower(optarg[0]); > break; > case 'p': > - sindex_search_path = optarg; > + semind_search_path = optarg; > break; > case 'v': > - sindex_verbose++; > + semind_verbose++; > break; > case 'h': > show_help_search(0); > } > } > > - if (sindex_search_by_location) { > + if (semind_search_by_location) { > char *str; > > if (optind == argc) > - sindex_error(1, 0, "one argument required"); > + semind_error(1, 0, "one argument required"); > > str = argv[optind]; > > @@ -414,18 +414,18 @@ static void parse_cmdline_search(int argc, char **argv) > *ptr++ = '\0'; > > if (*str != '\0') { > - if (!sindex_search_filename) { > - sindex_search_filename = str; > - } else if (!sindex_search_line) { > - sindex_search_line = atoi(str); > - } else if (!sindex_search_column) { > - sindex_search_column = atoi(str); > + if (!semind_search_filename) { > + semind_search_filename = str; > + } else if (!semind_search_line) { > + semind_search_line = atoi(str); > + } else if (!semind_search_column) { > + semind_search_column = atoi(str); > } > } > str = ptr; > } > } else if (optind < argc) > - sindex_search_symbol = argv[optind++]; > + semind_search_symbol = argv[optind++]; > } > > static int query_appendf(sqlite3_str *query, const char *fmt, ...) > @@ -452,22 +452,22 @@ static int query_appendf(sqlite3_str *query, const char *fmt, ...) > static inline void sqlite_bind_text(sqlite3_stmt *stmt, const char *field, const char *var, int len) > { > if (sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, field), var, len, SQLITE_STATIC) != SQLITE_OK) > - sindex_error(1, 0, "unable to bind value for %s: %s", field, sqlite3_errmsg(sindex_db)); > + semind_error(1, 0, "unable to bind value for %s: %s", field, sqlite3_errmsg(semind_db)); > } > > static inline void sqlite_bind_int64(sqlite3_stmt *stmt, const char *field, long long var) > { > if (sqlite3_bind_int64(stmt, sqlite3_bind_parameter_index(stmt, field), var) != SQLITE_OK) > - sindex_error(1, 0, "unable to bind value for %s: %s", field, sqlite3_errmsg(sindex_db)); > + semind_error(1, 0, "unable to bind value for %s: %s", field, sqlite3_errmsg(semind_db)); > } > > static inline void sqlite_prepare(const char *sql, sqlite3_stmt **stmt) > { > int ret; > do { > - ret = sqlite3_prepare_v2(sindex_db, sql, -1, stmt, NULL); > + ret = sqlite3_prepare_v2(semind_db, sql, -1, stmt, NULL); > if (ret != SQLITE_OK && ret != SQLITE_BUSY) > - sindex_error(1, 0, "unable to prepare query: %s: %s", sqlite3_errmsg(sindex_db), sql); > + semind_error(1, 0, "unable to prepare query: %s: %s", sqlite3_errmsg(semind_db), sql); > } while (ret == SQLITE_BUSY); > } > > @@ -475,9 +475,9 @@ static inline void sqlite_prepare_persistent(const char *sql, sqlite3_stmt **stm > { > int ret; > do { > - ret = sqlite3_prepare_v3(sindex_db, sql, -1, SQLITE_PREPARE_PERSISTENT, stmt, NULL); > + ret = sqlite3_prepare_v3(semind_db, sql, -1, SQLITE_PREPARE_PERSISTENT, stmt, NULL); > if (ret != SQLITE_OK && ret != SQLITE_BUSY) > - sindex_error(1, 0, "unable to prepare query: %s: %s", sqlite3_errmsg(sindex_db), sql); > + semind_error(1, 0, "unable to prepare query: %s: %s", sqlite3_errmsg(semind_db), sql); > } while (ret == SQLITE_BUSY); > } > > @@ -494,7 +494,7 @@ static int sqlite_run(sqlite3_stmt *stmt) > { > int ret = sqlite3_step(stmt); > if (ret != SQLITE_DONE && ret != SQLITE_ROW) > - sindex_error(1, 0, "unable to process query: %s: %s", sqlite3_errmsg(sindex_db), sqlite3_sql(stmt)); > + semind_error(1, 0, "unable to process query: %s: %s", sqlite3_errmsg(semind_db), sqlite3_sql(stmt)); > return ret; > } > > @@ -522,7 +522,7 @@ static sqlite3_int64 get_db_version(void) > static void set_db_version(void) > { > char *sql; > - sqlite3_str *query = sqlite3_str_new(sindex_db); > + sqlite3_str *query = sqlite3_str_new(semind_db); > > if (query_appendf(query, "PRAGMA user_version = %d", SINDEX_DATABASE_VERSION) < 0) > exit(1); > @@ -536,7 +536,7 @@ static void open_temp_database(void) > { > static const char *database_schema[] = { > "ATTACH ':memory:' AS tempdb", > - "CREATE TABLE tempdb.sindex (" > + "CREATE TABLE tempdb.semind (" > " file INTEGER NOT NULL," > " line INTEGER NOT NULL," > " column INTEGER NOT NULL," > @@ -560,7 +560,7 @@ static void open_database(const char *filename, int flags) > " name TEXT UNIQUE NOT NULL," > " mtime INTEGER NOT NULL" > ")", > - "CREATE TABLE sindex (" > + "CREATE TABLE semind (" > " file INTEGER NOT NULL REFERENCES file(id) ON DELETE CASCADE," > " line INTEGER NOT NULL," > " column INTEGER NOT NULL," > @@ -569,15 +569,15 @@ static void open_database(const char *filename, int flags) > " context TEXT," > " mode INTEGER NOT NULL" > ")", > - "CREATE UNIQUE INDEX sindex_0 ON sindex (symbol, kind, mode, file, line, column)", > - "CREATE INDEX sindex_1 ON sindex (file)", > + "CREATE UNIQUE INDEX semind_0 ON semind (symbol, kind, mode, file, line, column)", > + "CREATE INDEX semind_1 ON semind (file)", > NULL, > }; > > int exists = !access(filename, R_OK); > > - if (sqlite3_open_v2(filename, &sindex_db, flags, NULL) != SQLITE_OK) > - sindex_error(1, 0, "unable to open database: %s: %s", filename, sqlite3_errmsg(sindex_db)); > + if (sqlite3_open_v2(filename, &semind_db, flags, NULL) != SQLITE_OK) > + semind_error(1, 0, "unable to open database: %s: %s", filename, sqlite3_errmsg(semind_db)); > > sqlite_command("PRAGMA journal_mode = WAL"); > sqlite_command("PRAGMA synchronous = OFF"); > @@ -587,7 +587,7 @@ static void open_database(const char *filename, int flags) > > if (exists) { > if (get_db_version() < SINDEX_DATABASE_VERSION) > - sindex_error(1, 0, "%s: Database too old. Please rebuild it.", filename); > + semind_error(1, 0, "%s: Database too old. Please rebuild it.", filename); > return; > } > > @@ -627,16 +627,16 @@ static void insert_record(struct index_record *rec) > > static void update_stream(void) > { > - if (sindex_streams_nr >= input_stream_nr) > + if (semind_streams_nr >= input_stream_nr) > return; > > - sindex_streams = realloc(sindex_streams, input_stream_nr * sizeof(struct sindex_streams)); > - if (!sindex_streams) > - sindex_error(1, errno, "realloc"); > + semind_streams = realloc(semind_streams, input_stream_nr * sizeof(struct semind_streams)); > + if (!semind_streams) > + semind_error(1, errno, "realloc"); > > sqlite_run(lock_stmt); > > - for (int i = sindex_streams_nr; i < input_stream_nr; i++) { > + for (int i = semind_streams_nr; i < input_stream_nr; i++) { > struct stat st; > const char *filename; > char fullname[PATH_MAX]; > @@ -647,26 +647,26 @@ static void update_stream(void) > * FIXME: Files in the input_streams may be duplicated. > */ > if (stat(input_streams[i].name, &st) < 0) > - sindex_error(1, errno, "stat: %s", input_streams[i].name); > + semind_error(1, errno, "stat: %s", input_streams[i].name); > > cur_mtime = st.st_mtime; > > if (!realpath(input_streams[i].name, fullname)) > - sindex_error(1, errno, "realpath: %s", input_streams[i].name); > + semind_error(1, errno, "realpath: %s", input_streams[i].name); > > if (!strncmp(fullname, cwd, n_cwd) && fullname[n_cwd] == '/') { > filename = fullname + n_cwd + 1; > - sindex_streams[i].id = 0; > + semind_streams[i].id = 0; > } else { > - sindex_streams[i].id = -1; > + semind_streams[i].id = -1; > continue; > } > } else { > - sindex_streams[i].id = -1; > + semind_streams[i].id = -1; > continue; > } > > - if (sindex_verbose > 1) > + if (semind_verbose > 1) > message("filename: %s", filename); > > sqlite_bind_text(select_file_stmt, "@name", filename, -1); > @@ -674,7 +674,7 @@ static void update_stream(void) > if (sqlite_run(select_file_stmt) == SQLITE_ROW) { > sqlite3_int64 old_mtime; > > - sindex_streams[i].id = sqlite3_column_int64(select_file_stmt, 0); > + semind_streams[i].id = sqlite3_column_int64(select_file_stmt, 0); > old_mtime = sqlite3_column_int64(select_file_stmt, 1); > > sqlite_reset_stmt(select_file_stmt); > @@ -694,12 +694,12 @@ static void update_stream(void) > sqlite_run(insert_file_stmt); > sqlite_reset_stmt(insert_file_stmt); > > - sindex_streams[i].id = sqlite3_last_insert_rowid(sindex_db); > + semind_streams[i].id = sqlite3_last_insert_rowid(semind_db); > } > > sqlite_run(unlock_stmt); > > - sindex_streams_nr = input_stream_nr; > + semind_streams_nr = input_stream_nr; > } > > static void r_symbol(unsigned mode, struct position *pos, struct symbol *sym) > @@ -710,10 +710,10 @@ static void r_symbol(unsigned mode, struct position *pos, struct symbol *sym) > > update_stream(); > > - if (sindex_streams[pos->stream].id == -1) > + if (semind_streams[pos->stream].id == -1) > return; > > - if (!sindex_include_local_syms && sym_is_local(sym)) > + if (!semind_include_local_syms && sym_is_local(sym)) > return; > > if (!sym->ident) { > @@ -730,7 +730,7 @@ static void r_symbol(unsigned mode, struct position *pos, struct symbol *sym) > rec.sym_len = sym->ident->len; > rec.kind = sym->kind; > rec.mode = mode; > - rec.file = sindex_streams[pos->stream].id; > + rec.file = semind_streams[pos->stream].id; > rec.line = pos->line; > rec.col = pos->pos; > > @@ -747,10 +747,10 @@ static void r_member(unsigned mode, struct position *pos, struct symbol *sym, st > > update_stream(); > > - if (sindex_streams[pos->stream].id == -1) > + if (semind_streams[pos->stream].id == -1) > return; > > - if (!sindex_include_local_syms && sym_is_local(sym)) > + if (!semind_include_local_syms && sym_is_local(sym)) > return; > > ni = built_in_ident("?"); > @@ -769,7 +769,7 @@ static void r_member(unsigned mode, struct position *pos, struct symbol *sym, st > rec.sym_len = si->len + mi->len + 1; > rec.kind = 'm'; > rec.mode = mode; > - rec.file = sindex_streams[pos->stream].id; > + rec.file = semind_streams[pos->stream].id; > rec.line = pos->line; > rec.col = pos->pos; > > @@ -806,7 +806,7 @@ static void command_add(int argc, char **argv) > &unlock_stmt); > > sqlite_prepare_persistent( > - "INSERT OR IGNORE INTO tempdb.sindex " > + "INSERT OR IGNORE INTO tempdb.semind " > "(context, symbol, kind, mode, file, line, column) " > "VALUES (@context, @symbol, @kind, @mode, @file, @line, @column)", > &insert_rec_stmt); > @@ -823,10 +823,10 @@ static void command_add(int argc, char **argv) > "DELETE FROM file WHERE name == @name", > &delete_file_stmt); > > - dissect(&reporter, sindex_filelist); > + dissect(&reporter, semind_filelist); > > sqlite_run(lock_stmt); > - sqlite_command("INSERT OR IGNORE INTO sindex SELECT * FROM tempdb.sindex"); > + sqlite_command("INSERT OR IGNORE INTO semind SELECT * FROM tempdb.semind"); > sqlite_run(unlock_stmt); > > sqlite3_finalize(insert_rec_stmt); > @@ -835,7 +835,7 @@ static void command_add(int argc, char **argv) > sqlite3_finalize(delete_file_stmt); > sqlite3_finalize(lock_stmt); > sqlite3_finalize(unlock_stmt); > - free(sindex_streams); > + free(semind_streams); > } > > static void command_rm(int argc, char **argv) > @@ -845,7 +845,7 @@ static void command_rm(int argc, char **argv) > sqlite_command("BEGIN IMMEDIATE"); > sqlite_prepare("DELETE FROM file WHERE name GLOB @file", &stmt); > > - if (sindex_verbose > 1) > + if (semind_verbose > 1) > message("SQL: %s", sqlite3_sql(stmt)); > > for (int i = 0; i < argc; i++) { > @@ -877,12 +877,12 @@ static inline void print_mode(char *value) > #undef U > } > > -static char *sindex_file_name; > -static FILE *sindex_file_fd; > -static int sindex_file_lnum; > -static char *sindex_line; > -static size_t sindex_line_buflen; > -static int sindex_line_len; > +static char *semind_file_name; > +static FILE *semind_file_fd; > +static int semind_file_lnum; > +static char *semind_line; > +static size_t semind_line_buflen; > +static int semind_line_len; > > static void print_file_line(const char *name, int lnum) > { > @@ -890,43 +890,43 @@ static void print_file_line(const char *name, int lnum) > * All files are sorted by name and line number. So, we can reopen > * the file and read it line by line. > */ > - if (!sindex_file_name || strcmp(sindex_file_name, name)) { > - if (sindex_file_fd) { > - fclose(sindex_file_fd); > - free(sindex_file_name); > + if (!semind_file_name || strcmp(semind_file_name, name)) { > + if (semind_file_fd) { > + fclose(semind_file_fd); > + free(semind_file_name); > } > > - sindex_file_name = strdup(name); > + semind_file_name = strdup(name); > > - if (!sindex_file_name) > - sindex_error(1, errno, "strdup"); > + if (!semind_file_name) > + semind_error(1, errno, "strdup"); > > - sindex_file_fd = fopen(name, "r"); > + semind_file_fd = fopen(name, "r"); > > - if (!sindex_file_fd) > - sindex_error(1, errno, "fopen: %s", name); > + if (!semind_file_fd) > + semind_error(1, errno, "fopen: %s", name); > > - sindex_file_lnum = 0; > + semind_file_lnum = 0; > } > > do { > - if (sindex_file_lnum == lnum) { > - if (sindex_line[sindex_line_len-1] == '\n') > - sindex_line_len--; > - printf("%.*s", sindex_line_len, sindex_line); > + if (semind_file_lnum == lnum) { > + if (semind_line[semind_line_len-1] == '\n') > + semind_line_len--; > + printf("%.*s", semind_line_len, semind_line); > break; > } > - sindex_file_lnum++; > + semind_file_lnum++; > errno = 0; > - } while((sindex_line_len = getline(&sindex_line, &sindex_line_buflen, sindex_file_fd)) != -1); > + } while((semind_line_len = getline(&semind_line, &semind_line_buflen, semind_file_fd)) != -1); > > if (errno && errno != EOF) > - sindex_error(1, errno, "getline"); > + semind_error(1, errno, "getline"); > } > > static int search_query_callback(void *data, int argc, char **argv, char **colname) > { > - char *fmt = (char *) sindex_search_format; > + char *fmt = (char *) semind_search_format; > char buf[32]; > int quote = 0; > int n = 0; > @@ -948,7 +948,7 @@ static int search_query_callback(void *data, int argc, char **argv, char **colna > c = *fmt; > > if (c == '\0') > - sindex_error(1, 0, "unexpected end of format string"); > + semind_error(1, 0, "unexpected end of format string"); > > switch (c) { > case 'f': colnum = 0; goto print_string; > @@ -995,7 +995,7 @@ static int search_query_callback(void *data, int argc, char **argv, char **colna > } > > if (pos == fmt) > - sindex_error(1, 0, "invalid format specification: %%%c", c); > + semind_error(1, 0, "invalid format specification: %%%c", c); > > continue; > } else if (c == '\\') { > @@ -1024,104 +1024,104 @@ static void command_search(int argc, char **argv) > { > char *sql; > char *dberr = NULL; > - sqlite3_str *query = sqlite3_str_new(sindex_db); > + sqlite3_str *query = sqlite3_str_new(semind_db); > > if (chdir(cwd) < 0) > - sindex_error(1, errno, "unable to change directory: %s", cwd); > + semind_error(1, errno, "unable to change directory: %s", cwd); > > if (query_appendf(query, > "SELECT" > " file.name," > - " sindex.line," > - " sindex.column," > - " sindex.context," > - " sindex.symbol," > - " sindex.mode," > - " sindex.kind " > - "FROM sindex, file " > - "WHERE sindex.file == file.id") < 0) > + " semind.line," > + " semind.column," > + " semind.context," > + " semind.symbol," > + " semind.mode," > + " semind.kind " > + "FROM semind, file " > + "WHERE semind.file == file.id") < 0) > goto fail; > > - if (sindex_search_kind) { > - if (query_appendf(query, " AND sindex.kind == %d", sindex_search_kind) < 0) > + if (semind_search_kind) { > + if (query_appendf(query, " AND semind.kind == %d", semind_search_kind) < 0) > goto fail; > } > > - if (sindex_search_symbol) { > + if (semind_search_symbol) { > int ret; > > if (query_appendf(query, " AND ") < 0) > goto fail; > > - if (strpbrk(sindex_search_symbol, "*?[]")) > - ret = query_appendf(query, "sindex.symbol GLOB %Q", sindex_search_symbol); > + if (strpbrk(semind_search_symbol, "*?[]")) > + ret = query_appendf(query, "semind.symbol GLOB %Q", semind_search_symbol); > else > - ret = query_appendf(query, "sindex.symbol == %Q", sindex_search_symbol); > + ret = query_appendf(query, "semind.symbol == %Q", semind_search_symbol); > > if (ret < 0) > goto fail; > } > > - if (sindex_search_modmask_defined) { > - if (!sindex_search_modmask) { > - if (query_appendf(query, " AND sindex.mode == %d", sindex_search_modmask) < 0) > + if (semind_search_modmask_defined) { > + if (!semind_search_modmask) { > + if (query_appendf(query, " AND semind.mode == %d", semind_search_modmask) < 0) > goto fail; > - } else if (query_appendf(query, " AND (sindex.mode & %d) != 0", sindex_search_modmask) < 0) > + } else if (query_appendf(query, " AND (semind.mode & %d) != 0", semind_search_modmask) < 0) > goto fail; > } > > - if (sindex_search_path) { > - if (query_appendf(query, " AND file.name GLOB %Q", sindex_search_path) < 0) > + if (semind_search_path) { > + if (query_appendf(query, " AND file.name GLOB %Q", semind_search_path) < 0) > goto fail; > } > > - if (sindex_search_by_location == EXPLAIN_LOCATION) { > - if (query_appendf(query, " AND file.name == %Q", sindex_search_filename) < 0) > + if (semind_search_by_location == EXPLAIN_LOCATION) { > + if (query_appendf(query, " AND file.name == %Q", semind_search_filename) < 0) > goto fail; > - if (sindex_search_line && > - query_appendf(query, " AND sindex.line == %d", sindex_search_line) < 0) > + if (semind_search_line && > + query_appendf(query, " AND semind.line == %d", semind_search_line) < 0) > goto fail; > - if (sindex_search_column && > - query_appendf(query, " AND sindex.column == %d", sindex_search_column) < 0) > + if (semind_search_column && > + query_appendf(query, " AND semind.column == %d", semind_search_column) < 0) > goto fail; > - } else if (sindex_search_by_location == USAGE_BY_LOCATION) { > - if (query_appendf(query, " AND sindex.symbol IN (") < 0) > + } else if (semind_search_by_location == USAGE_BY_LOCATION) { > + if (query_appendf(query, " AND semind.symbol IN (") < 0) > goto fail; > if (query_appendf(query, > - "SELECT sindex.symbol FROM sindex, file WHERE" > - " sindex.file == file.id AND" > - " file.name == %Q", sindex_search_filename) < 0) > + "SELECT semind.symbol FROM semind, file WHERE" > + " semind.file == file.id AND" > + " file.name == %Q", semind_search_filename) < 0) > goto fail; > - if (sindex_search_line && > - query_appendf(query, " AND sindex.line == %d", sindex_search_line) < 0) > + if (semind_search_line && > + query_appendf(query, " AND semind.line == %d", semind_search_line) < 0) > goto fail; > - if (sindex_search_column && > - query_appendf(query, " AND sindex.column == %d", sindex_search_column) < 0) > + if (semind_search_column && > + query_appendf(query, " AND semind.column == %d", semind_search_column) < 0) > goto fail; > if (query_appendf(query, ")") < 0) > goto fail; > } > > - if (query_appendf(query, " ORDER BY file.name, sindex.line, sindex.column ASC", sindex_search_path) < 0) > + if (query_appendf(query, " ORDER BY file.name, semind.line, semind.column ASC", semind_search_path) < 0) > goto fail; > > sql = sqlite3_str_value(query); > > - if (sindex_verbose > 1) > + if (semind_verbose > 1) > message("SQL: %s", sql); > > - sqlite3_exec(sindex_db, sql, search_query_callback, NULL, &dberr); > + sqlite3_exec(semind_db, sql, search_query_callback, NULL, &dberr); > if (dberr) > - sindex_error(1, 0, "sql query failed: %s", dberr); > + semind_error(1, 0, "sql query failed: %s", dberr); > fail: > sql = sqlite3_str_finish(query); > sqlite3_free(sql); > > - if (sindex_file_fd) { > - fclose(sindex_file_fd); > - free(sindex_file_name); > + if (semind_file_fd) { > + fclose(semind_file_fd); > + free(semind_file_name); > } > - free(sindex_line); > + free(semind_line); > } > > > @@ -1156,25 +1156,25 @@ int main(int argc, char **argv) > progname++; > > if (!realpath(".", cwd)) > - sindex_error(1, errno, "unable to get current directory"); > + semind_error(1, errno, "unable to get current directory"); > n_cwd = strlen(cwd); > > parse_cmdline(argc, argv); > > for (cmd = commands; cmd->name && strcmp(argv[optind], cmd->name); cmd++); > if (!cmd->name) > - sindex_error(1, 0, "unknown command: %s", argv[optind]); > + semind_error(1, 0, "unknown command: %s", argv[optind]); > optind++; > > - sindex_command = cmd->name; > + semind_command = cmd->name; > > if (cmd->parse_cmdline) > cmd->parse_cmdline(argc, argv); > > - open_database(sindex_dbfile, cmd->dbflags); > + open_database(semind_dbfile, cmd->dbflags); > cmd->handler(argc - optind, argv + optind); > > - sqlite3_close(sindex_db); > + sqlite3_close(semind_db); > > return 0; > } > -- > 2.28.0 > -- Rgrds, legion