Fossil SCM

Add initial basic mnemonic encoding support.

dg 2013-09-04 20:42 dg-codenames
Commit 570783f795fa98127dbc084218a01703d1c49a32
+1 -1
--- src/db.c
+++ src/db.c
@@ -741,11 +741,11 @@
741741
);
742742
sqlite3_create_function(
743743
db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0
744744
);
745745
if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0);
746
- re_add_sql_func(db);
746
+ add_sql_func(db);
747747
sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0);
748748
return db;
749749
}
750750
751751
752752
--- src/db.c
+++ src/db.c
@@ -741,11 +741,11 @@
741 );
742 sqlite3_create_function(
743 db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0
744 );
745 if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0);
746 re_add_sql_func(db);
747 sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0);
748 return db;
749 }
750
751
752
--- src/db.c
+++ src/db.c
@@ -741,11 +741,11 @@
741 );
742 sqlite3_create_function(
743 db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0
744 );
745 if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0);
746 add_sql_func(db);
747 sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0);
748 return db;
749 }
750
751
752
+11 -2
--- src/main.mk
+++ src/main.mk
@@ -75,10 +75,11 @@
7575
$(SRCDIR)/markdown.c \
7676
$(SRCDIR)/markdown_html.c \
7777
$(SRCDIR)/md5.c \
7878
$(SRCDIR)/merge.c \
7979
$(SRCDIR)/merge3.c \
80
+ $(SRCDIR)/mnemonic.c \
8081
$(SRCDIR)/moderate.c \
8182
$(SRCDIR)/name.c \
8283
$(SRCDIR)/path.c \
8384
$(SRCDIR)/pivot.c \
8485
$(SRCDIR)/popen.c \
@@ -185,10 +186,11 @@
185186
$(OBJDIR)/markdown_html_.c \
186187
$(OBJDIR)/md5_.c \
187188
$(OBJDIR)/merge_.c \
188189
$(OBJDIR)/merge3_.c \
189190
$(OBJDIR)/moderate_.c \
191
+ $(OBJDIR)/mnemonic_.c \
190192
$(OBJDIR)/name_.c \
191193
$(OBJDIR)/path_.c \
192194
$(OBJDIR)/pivot_.c \
193195
$(OBJDIR)/popen_.c \
194196
$(OBJDIR)/pqueue_.c \
@@ -294,10 +296,11 @@
294296
$(OBJDIR)/markdown_html.o \
295297
$(OBJDIR)/md5.o \
296298
$(OBJDIR)/merge.o \
297299
$(OBJDIR)/merge3.o \
298300
$(OBJDIR)/moderate.o \
301
+ $(OBJDIR)/mnemonic.o \
299302
$(OBJDIR)/name.o \
300303
$(OBJDIR)/path.o \
301304
$(OBJDIR)/pivot.o \
302305
$(OBJDIR)/popen.o \
303306
$(OBJDIR)/pqueue.o \
@@ -405,11 +408,11 @@
405408
406409
407410
$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
408411
$(OBJDIR)/mkindex $(TRANS_SRC) >$@
409412
$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
410
- $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_status_.c:$(OBJDIR)/json_status.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/unicode_.c:$(OBJDIR)/unicode.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/util_.c:$(OBJDIR)/util.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
413
+ $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_status_.c:$(OBJDIR)/json_status.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/mnemonic_.c:$(OBJDIR)/mnemonic.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/unicode_.c:$(OBJDIR)/unicode.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/util_.c:$(OBJDIR)/util.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
411414
touch $(OBJDIR)/headers
412415
$(OBJDIR)/headers: Makefile
413416
$(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_config.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_dir.o $(OBJDIR)/json_finfo.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_status.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
414417
Makefile:
415418
$(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -857,10 +860,16 @@
857860
$(OBJDIR)/translate $(SRCDIR)/moderate.c >$(OBJDIR)/moderate_.c
858861
859862
$(OBJDIR)/moderate.o: $(OBJDIR)/moderate_.c $(OBJDIR)/moderate.h $(SRCDIR)/config.h
860863
$(XTCC) -o $(OBJDIR)/moderate.o -c $(OBJDIR)/moderate_.c
861864
865
+$(OBJDIR)/mnemonic_.c: $(SRCDIR)/mnemonic.c $(OBJDIR)/translate
866
+ $(OBJDIR)/translate $(SRCDIR)/mnemonic.c >$(OBJDIR)/mnemonic_.c
867
+
868
+$(OBJDIR)/mnemonic.o: $(OBJDIR)/mnemonic_.c $(OBJDIR)/mnemonic.h $(SRCDIR)/config.h
869
+ $(XTCC) -o $(OBJDIR)/mnemonic.o -c $(OBJDIR)/mnemonic_.c
870
+
862871
$(OBJDIR)/moderate.h: $(OBJDIR)/headers
863872
$(OBJDIR)/name_.c: $(SRCDIR)/name.c $(OBJDIR)/translate
864873
$(OBJDIR)/translate $(SRCDIR)/name.c >$(OBJDIR)/name_.c
865874
866875
$(OBJDIR)/name.o: $(OBJDIR)/name_.c $(OBJDIR)/name.h $(SRCDIR)/config.h
@@ -973,11 +982,11 @@
973982
974983
$(OBJDIR)/skins.h: $(OBJDIR)/headers
975984
$(OBJDIR)/sqlcmd_.c: $(SRCDIR)/sqlcmd.c $(OBJDIR)/translate
976985
$(OBJDIR)/translate $(SRCDIR)/sqlcmd.c >$(OBJDIR)/sqlcmd_.c
977986
978
-$(OBJDIR)/sqlcmd.o: $(OBJDIR)/sqlcmd_.c $(OBJDIR)/sqlcmd.h $(SRCDIR)/config.h
987
+$(OBJDIR)/sqlcmd.o: $(OBJDIR)/sqlcmd_.c $(OBJDIR)/sqlcmd.h $(OBJDIR)/mnemonic.h $(SRCDIR)/config.h
979988
$(XTCC) -o $(OBJDIR)/sqlcmd.o -c $(OBJDIR)/sqlcmd_.c
980989
981990
$(OBJDIR)/sqlcmd.h: $(OBJDIR)/headers
982991
$(OBJDIR)/stash_.c: $(SRCDIR)/stash.c $(OBJDIR)/translate
983992
$(OBJDIR)/translate $(SRCDIR)/stash.c >$(OBJDIR)/stash_.c
984993
985994
ADDED src/mnemonic.c
--- src/main.mk
+++ src/main.mk
@@ -75,10 +75,11 @@
75 $(SRCDIR)/markdown.c \
76 $(SRCDIR)/markdown_html.c \
77 $(SRCDIR)/md5.c \
78 $(SRCDIR)/merge.c \
79 $(SRCDIR)/merge3.c \
 
80 $(SRCDIR)/moderate.c \
81 $(SRCDIR)/name.c \
82 $(SRCDIR)/path.c \
83 $(SRCDIR)/pivot.c \
84 $(SRCDIR)/popen.c \
@@ -185,10 +186,11 @@
185 $(OBJDIR)/markdown_html_.c \
186 $(OBJDIR)/md5_.c \
187 $(OBJDIR)/merge_.c \
188 $(OBJDIR)/merge3_.c \
189 $(OBJDIR)/moderate_.c \
 
190 $(OBJDIR)/name_.c \
191 $(OBJDIR)/path_.c \
192 $(OBJDIR)/pivot_.c \
193 $(OBJDIR)/popen_.c \
194 $(OBJDIR)/pqueue_.c \
@@ -294,10 +296,11 @@
294 $(OBJDIR)/markdown_html.o \
295 $(OBJDIR)/md5.o \
296 $(OBJDIR)/merge.o \
297 $(OBJDIR)/merge3.o \
298 $(OBJDIR)/moderate.o \
 
299 $(OBJDIR)/name.o \
300 $(OBJDIR)/path.o \
301 $(OBJDIR)/pivot.o \
302 $(OBJDIR)/popen.o \
303 $(OBJDIR)/pqueue.o \
@@ -405,11 +408,11 @@
405
406
407 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
408 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
409 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
410 $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_status_.c:$(OBJDIR)/json_status.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/unicode_.c:$(OBJDIR)/unicode.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/util_.c:$(OBJDIR)/util.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
411 touch $(OBJDIR)/headers
412 $(OBJDIR)/headers: Makefile
413 $(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_config.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_dir.o $(OBJDIR)/json_finfo.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_status.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
414 Makefile:
415 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -857,10 +860,16 @@
857 $(OBJDIR)/translate $(SRCDIR)/moderate.c >$(OBJDIR)/moderate_.c
858
859 $(OBJDIR)/moderate.o: $(OBJDIR)/moderate_.c $(OBJDIR)/moderate.h $(SRCDIR)/config.h
860 $(XTCC) -o $(OBJDIR)/moderate.o -c $(OBJDIR)/moderate_.c
861
 
 
 
 
 
 
862 $(OBJDIR)/moderate.h: $(OBJDIR)/headers
863 $(OBJDIR)/name_.c: $(SRCDIR)/name.c $(OBJDIR)/translate
864 $(OBJDIR)/translate $(SRCDIR)/name.c >$(OBJDIR)/name_.c
865
866 $(OBJDIR)/name.o: $(OBJDIR)/name_.c $(OBJDIR)/name.h $(SRCDIR)/config.h
@@ -973,11 +982,11 @@
973
974 $(OBJDIR)/skins.h: $(OBJDIR)/headers
975 $(OBJDIR)/sqlcmd_.c: $(SRCDIR)/sqlcmd.c $(OBJDIR)/translate
976 $(OBJDIR)/translate $(SRCDIR)/sqlcmd.c >$(OBJDIR)/sqlcmd_.c
977
978 $(OBJDIR)/sqlcmd.o: $(OBJDIR)/sqlcmd_.c $(OBJDIR)/sqlcmd.h $(SRCDIR)/config.h
979 $(XTCC) -o $(OBJDIR)/sqlcmd.o -c $(OBJDIR)/sqlcmd_.c
980
981 $(OBJDIR)/sqlcmd.h: $(OBJDIR)/headers
982 $(OBJDIR)/stash_.c: $(SRCDIR)/stash.c $(OBJDIR)/translate
983 $(OBJDIR)/translate $(SRCDIR)/stash.c >$(OBJDIR)/stash_.c
984
985 DDED src/mnemonic.c
--- src/main.mk
+++ src/main.mk
@@ -75,10 +75,11 @@
75 $(SRCDIR)/markdown.c \
76 $(SRCDIR)/markdown_html.c \
77 $(SRCDIR)/md5.c \
78 $(SRCDIR)/merge.c \
79 $(SRCDIR)/merge3.c \
80 $(SRCDIR)/mnemonic.c \
81 $(SRCDIR)/moderate.c \
82 $(SRCDIR)/name.c \
83 $(SRCDIR)/path.c \
84 $(SRCDIR)/pivot.c \
85 $(SRCDIR)/popen.c \
@@ -185,10 +186,11 @@
186 $(OBJDIR)/markdown_html_.c \
187 $(OBJDIR)/md5_.c \
188 $(OBJDIR)/merge_.c \
189 $(OBJDIR)/merge3_.c \
190 $(OBJDIR)/moderate_.c \
191 $(OBJDIR)/mnemonic_.c \
192 $(OBJDIR)/name_.c \
193 $(OBJDIR)/path_.c \
194 $(OBJDIR)/pivot_.c \
195 $(OBJDIR)/popen_.c \
196 $(OBJDIR)/pqueue_.c \
@@ -294,10 +296,11 @@
296 $(OBJDIR)/markdown_html.o \
297 $(OBJDIR)/md5.o \
298 $(OBJDIR)/merge.o \
299 $(OBJDIR)/merge3.o \
300 $(OBJDIR)/moderate.o \
301 $(OBJDIR)/mnemonic.o \
302 $(OBJDIR)/name.o \
303 $(OBJDIR)/path.o \
304 $(OBJDIR)/pivot.o \
305 $(OBJDIR)/popen.o \
306 $(OBJDIR)/pqueue.o \
@@ -405,11 +408,11 @@
408
409
410 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
411 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
412 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
413 $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_status_.c:$(OBJDIR)/json_status.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/mnemonic_.c:$(OBJDIR)/mnemonic.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/unicode_.c:$(OBJDIR)/unicode.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/util_.c:$(OBJDIR)/util.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
414 touch $(OBJDIR)/headers
415 $(OBJDIR)/headers: Makefile
416 $(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_config.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_dir.o $(OBJDIR)/json_finfo.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_status.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
417 Makefile:
418 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -857,10 +860,16 @@
860 $(OBJDIR)/translate $(SRCDIR)/moderate.c >$(OBJDIR)/moderate_.c
861
862 $(OBJDIR)/moderate.o: $(OBJDIR)/moderate_.c $(OBJDIR)/moderate.h $(SRCDIR)/config.h
863 $(XTCC) -o $(OBJDIR)/moderate.o -c $(OBJDIR)/moderate_.c
864
865 $(OBJDIR)/mnemonic_.c: $(SRCDIR)/mnemonic.c $(OBJDIR)/translate
866 $(OBJDIR)/translate $(SRCDIR)/mnemonic.c >$(OBJDIR)/mnemonic_.c
867
868 $(OBJDIR)/mnemonic.o: $(OBJDIR)/mnemonic_.c $(OBJDIR)/mnemonic.h $(SRCDIR)/config.h
869 $(XTCC) -o $(OBJDIR)/mnemonic.o -c $(OBJDIR)/mnemonic_.c
870
871 $(OBJDIR)/moderate.h: $(OBJDIR)/headers
872 $(OBJDIR)/name_.c: $(SRCDIR)/name.c $(OBJDIR)/translate
873 $(OBJDIR)/translate $(SRCDIR)/name.c >$(OBJDIR)/name_.c
874
875 $(OBJDIR)/name.o: $(OBJDIR)/name_.c $(OBJDIR)/name.h $(SRCDIR)/config.h
@@ -973,11 +982,11 @@
982
983 $(OBJDIR)/skins.h: $(OBJDIR)/headers
984 $(OBJDIR)/sqlcmd_.c: $(SRCDIR)/sqlcmd.c $(OBJDIR)/translate
985 $(OBJDIR)/translate $(SRCDIR)/sqlcmd.c >$(OBJDIR)/sqlcmd_.c
986
987 $(OBJDIR)/sqlcmd.o: $(OBJDIR)/sqlcmd_.c $(OBJDIR)/sqlcmd.h $(OBJDIR)/mnemonic.h $(SRCDIR)/config.h
988 $(XTCC) -o $(OBJDIR)/sqlcmd.o -c $(OBJDIR)/sqlcmd_.c
989
990 $(OBJDIR)/sqlcmd.h: $(OBJDIR)/headers
991 $(OBJDIR)/stash_.c: $(SRCDIR)/stash.c $(OBJDIR)/translate
992 $(OBJDIR)/translate $(SRCDIR)/stash.c >$(OBJDIR)/stash_.c
993
994 DDED src/mnemonic.c
--- a/src/mnemonic.c
+++ b/src/mnemonic.c
@@ -0,0 +1,292 @@
1
+/*
2
+** Copyright (c) 2008 D. Richard Hipp
3
+**
4
+** This program is free software; you can redistribute it and/or
5
+** modify it under the terms of the Simplified BSD License (also
6
+** known as the "2-Clause Licennse" or "FreeBSD License".)
7
+** This program is distributed in the hope that it will be useful,
8
+** but without any warranty; without even the implied warranty of
9
+** merchantability or fitness for a particular purpose.
10
+**
11
+** Author contact information:
12
+** [email protected]
13
+** http://www.hwaci.com/drh/
14
+**
15
+*******************************************************************************
16
+**
17
+** This file contains the code to do mnemonic encoding of commit IDs. Theis taken from:
18
+**
19
+** https://github.com/singpolyma/mnemonicode
20
+**
21
+** The original code is MIT licensed, but this code uses a reimplementation
22
+** from scratch anywaynly encode seven hex digits.
23
+*/
24
+
25
+#include "config.h"
26
+#include "mnemoni#define MN_REMAINDER 7
27
+
28
+static const char* basewordlist[MN_BASE] =
29
+{
30
+ "ACADEMY", "ACROBAT", "ACTIVE", "ACTOR", "ADAM", "ADMIRAL",
31
+ "ADRIAN", "AFRICA", "AGENDA", "AGENT", "AIRLINE", "AIRPORT",
32
+ "ALADDIN", "ALARM", "ALASKA", "ALBERT", "ALBINO", "ALBUM",
33
+ "ALCOHOL", "ALEX", "ALGEBRA", "ALIBI", "ALICE", "ALIEN",
34
+ "ALPHA", "ALPINE", "AMADEUS", "AMANDA", "AMAZON", "AMBER",
35
+ "AMERICA", "AMIGO", "ANALOG", "ANATOMY", "ANGEL", "ANIMAL",
36
+ "ANTENNA", "ANTONIO", "APOLLO", "APRIL", "ARCHIVE", "ARCTIC",
37
+ "ARIZONA", "ARNOLD", "AROMA", "ARTHUR", "ARTIST", "ASIA",
38
+ "ASPECT", "ASPIRIN", "ATHENA", "ATHLETE", "ATLAS", "AUDIO",
39
+ "AUGUST", "AUSTRIA", "AXIOM", "AZTEC", "BALANCE", "BALLAD",
40
+ "BANANA", "BANDIT", "BANJO", "BARCODE", "BARON", "BASIC",
41
+ "BATTERY", "BELGIUM", "BERLIN", "BERMUDA", "BERNARD", "BIKINI",
42
+ "BINARY", "BINGO", "BIOLOGY", "BLOCK", "BLONDE", "BONUS",
43
+ "BORIS", "BOSTON", "BOXER", "BRANDY", "BRAVO", "BRAZIL",
44
+ "BRONZE", "BROWN", "BRUCE", "BRUNO", "BURGER", "BURMA",
45
+ "CABINET", "CACTUS", "CAFE", "CAIRO", "CAKE", "CALYPSO",
46
+ "CAMEL", "CAMERA", "CAMPUS", "CANADA", "CANAL", "CANNON",
47
+ "CANOE", "CANTINA", "CANVAS", "CANYON", "CAPITAL", "CARAMEL",
48
+ "CARAVAN", "CARBON", "CARGO", "CARLO", "CAROL", "CARPET",
49
+ "CARTEL", "CASINO", "CASTLE", "CASTRO", "CATALOG", "CAVIAR",
50
+ "CECILIA", "CEMENT", "CENTER", "CENTURY", "CERAMIC", "CHAMBER",
51
+ "CHANCE", "CHANGE", "CHAOS", "CHARLIE", "CHARM", "CHARTER",
52
+ "CHEF", "CHEMIST", "CHERRY", "CHESS", "CHICAGO", "CHICKEN",
53
+ "CHIEF", "CHINA", "CIGAR", "CINEMA", "CIRCUS", "CITIZEN",
54
+ "CITY", "CLARA", "CLASSIC", "CLAUDIA", "CLEAN", "CLIENT",
55
+ "CLIMAX", "CLINIC", "CLOCK", "CLUB", "COBRA", "COCONUT",
56
+ "COLA", "COLLECT", "COLOMBO", "COLONY", "COLOR", "COMBAT",
57
+ "COMEDY", "COMET", "COMMAND", "COMPACT", "COMPANY", "COMPLEX",
58
+ "CONCEPT", "CONCERT", "CONNECT", "CONSUL", "CONTACT", "CONTEXT",
59
+ "CONTOUR", "CONTROL", "CONVERT", "COPY", "CORNER", "CORONA",
60
+ "CORRECT", "COSMOS", "COUPLE", "COURAGE", "COWBOY", "CRAFT",
61
+ "CRASH", "CREDIT", "CRICKET", "CRITIC", "CROWN", "CRYSTAL",
62
+ "CUBA", "CULTURE", "DALLAS", "DANCE", "DANIEL", "DAVID",
63
+ "DECADE", "DECIMAL", "DELIVER", "DELTA", "DELUXE", "DEMAND",
64
+ "DEMO", "DENMARK", "DERBY", "DESIGN", "DETECT", "DEVELOP",
65
+ "DIAGRAM", "DIALOG", "DIAMOND", "DIANA", "DIEGO", "DIESEL",
66
+ "DIET", "DIGITAL", "DILEMMA", "DIPLOMA", "DIRECT", "DISCO",
67
+ "DISNEY", "DISTANT", "DOCTOR", "DOLLAR", "DOMINIC", "DOMINO",
68
+ "DONALD", "DRAGON", "DRAMA", "DUBLIN", "DUET", "DYNAMIC",
69
+ "EAST", "ECOLOGY", "ECONOMY", "EDGAR", "EGYPT", "ELASTIC",
70
+ "ELEGANT", "ELEMENT", "ELITE", "ELVIS", "EMAIL", "ENERGY",
71
+ "ENGINE", "ENGLISH", "EPISODE", "EQUATOR", "ESCORT", "ETHNIC",
72
+ "EUROPE", "EVEREST", "EVIDENT", "EXACT", "EXAMPLE", "EXIT",
73
+ "EXOTIC", "EXPORT", "EXPRESS", "EXTRA", "FABRIC", "FACTOR",
74
+ "FALCON", "FAMILY", "FANTASY", "FASHION", "FIBER", "FICTION",
75
+ "FIDEL", "FIESTA", "FIGURE", "FILM", "FILTER", "FINAL",
76
+ "FINANCE", "FINISH", "FINLAND", "FLASH", "FLORIDA", "FLOWER",
77
+ "FLUID", "FLUTE", "FOCUS", "FORD", "FOREST", "FORMAL",
78
+ "FORMAT", "FORMULA", "FORTUNE", "FORUM", "FRAGILE", "FRANCE",
79
+ "FRANK", "FRIEND", "FROZEN", "FUTURE", "GABRIEL", "GALAXY",
80
+ "GALLERY", "GAMMA", "GARAGE", "GARDEN", "GARLIC", "GEMINI",
81
+ "GENERAL", "GENETIC", "GENIUS", "GERMANY", "GLOBAL", "GLORIA",
82
+ "GOLF", "GONDOLA", "GONG", "GOOD", "GORDON", "GORILLA",
83
+ "GRAND", "GRANITE", "GRAPH", "GREEN", "GROUP", "GUIDE",
84
+ "GUITAR", "GURU", "HAND", "HAPPY", "HARBOR", "HARMONY",
85
+ "HARVARD", "HAVANA", "HAWAII", "HELENA", "HELLO", "HENRY",
86
+ "HILTON", "HISTORY", "HORIZON", "HOTEL", "HUMAN", "HUMOR",
87
+ "ICON", "IDEA", "IGLOO", "IGOR", "IMAGE", "IMPACT",
88
+ "IMPORT", "INDEX", "INDIA", "INDIGO", "INPUT", "INSECT",
89
+ "INSTANT", "IRIS", "ITALIAN", "JACKET", "JACOB", "JAGUAR",
90
+ "JANET", "JAPAN", "JARGON", "JAZZ", "JEEP", "JOHN",
91
+ "JOKER", "JORDAN", "JUMBO", "JUNE", "JUNGLE", "JUNIOR",
92
+ "JUPITER", "KARATE", "KARMA", "KAYAK", "KERMIT", "KILO",
93
+ "KING", "KOALA", "KOREA", "LABOR", "LADY", "LAGOON",
94
+ "LAPTOP", "LASER", "LATIN", "LAVA", "LECTURE", "LEFT",
95
+ "LEGAL", "LEMON", "LEVEL", "LEXICON", "LIBERAL", "LIBRA",
96
+ "LIMBO", "LIMIT", "LINDA", "LINEAR", "LION", "LIQUID",
97
+ "LITER", "LITTLE", "LLAMA", "LOBBY", "LOBSTER", "LOCAL",
98
+ "LOGIC", "LOGO", "LOLA", "LONDON", "LOTUS", "LUCAS",
99
+ "LUNAR", "MACHINE", "MACRO", "MADAM", "MADONNA", "MADRID",
100
+ "MAESTRO", "MAGIC", "MAGNET", "MAGNUM", "MAJOR", "MAMA",
101
+ "MAMBO", "MANAGER", "MANGO", "MANILA", "MARCO", "MARINA",
102
+ "MARKET", "MARS", "MARTIN", "MARVIN", "MASTER", "MATRIX",
103
+ "MAXIMUM", "MEDIA", "MEDICAL", "MEGA", "MELODY", "MELON",
104
+ "MEMO", "MENTAL", "MENTOR", "MENU", "MERCURY", "MESSAGE",
105
+ "METAL", "METEOR", "METER", "METHOD", "METRO", "MEXICO",
106
+ "MIAMI", "MICRO", "MILLION", "MINERAL", "MINIMUM", "MINUS",
107
+ "MINUTE", "MIRACLE", "MIRAGE", "MIRANDA", "MISTER", "MIXER",
108
+ "MOBILE", "MODEL", "MODEM", "MODERN", "MODULAR", "MOMENT",
109
+ "MONACO", "MONICA", "MONITOR", "MONO", "MONSTER", "MONTANA",
110
+ "MORGAN", "MOTEL", "MOTIF", "MOTOR", "MOZART", "MULTI",
111
+ "MUSEUM", "MUSIC", "MUSTANG", "NATURAL", "NEON", "NEPAL",
112
+ "NEPTUNE", "NERVE", "NEUTRAL", "NEVADA", "NEWS", "NINJA",
113
+ "NIRVANA", "NORMAL", "NOVA", "NOVEL", "NUCLEAR", "NUMERIC",
114
+ "NYLON", "OASIS", "OBJECT", "OBSERVE", "OCEAN", "OCTOPUS",
115
+ "OLIVIA", "OLYMPIC", "OMEGA", "OPERA", "OPTIC", "OPTIMAL",
116
+ "ORANGE", "ORBIT", "ORGANIC", "ORIENT", "ORIGIN", "ORLANDO",
117
+ "OSCAR", "OXFORD", "OXYGEN", "OZONE", "PABLO", "PACIFIC",
118
+ "PAGODA", "PALACE", "PAMELA", "PANAMA", "PANDA", "PANEL",
119
+ "PANIC", "PARADOX", "PARDON", "PARIS", "PARKER", "PARKING",
120
+ "PARODY", "PARTNER", "PASSAGE", "PASSIVE", "PASTA", "PASTEL",
121
+ "PATENT", "PATRIOT", "PATROL", "PATRON", "PEGASUS", "PELICAN",
122
+ "PENGUIN", "PEPPER", "PERCENT", "PERFECT", "PERFUME", "PERIOD",
123
+ "PERMIT", "PERSON", "PERU", "PHONE", "PHOTO", "PIANO",
124
+ "PICASSO", "PICNIC", "PICTURE", "PIGMENT", "PILGRIM", "PILOT",
125
+ "PIRATE", "PIXEL", "PIZZA", "PLANET", "PLASMA", "PLASTER",
126
+ "PLASTIC", "PLAZA", "POCKET", "POEM", "POETIC", "POKER",
127
+ "POLARIS", "POLICE", "POLITIC", "POLO", "POLYGON", "PONY",
128
+ "POPCORN", "POPULAR", "POSTAGE", "POSTAL", "PRECISE", "PREFIX",
129
+ "PREMIUM", "PRESENT", "PRICE", "PRINCE", "PRINTER", "PRISM",
130
+ "PRIVATE", "PRODUCT", "PROFILE", "PROGRAM", "PROJECT", "PROTECT",
131
+ "PROTON", "PUBLIC", "PULSE", "PUMA", "PYRAMID", "QUEEN",
132
+ "RADAR", "RADIO", "RANDOM", "RAPID", "REBEL", "RECORD",
133
+ "RECYCLE", "REFLEX", "REFORM", "REGARD", "REGULAR", "RELAX",
134
+ "REPORT", "REPTILE", "REVERSE", "RICARDO", "RINGO", "RITUAL",
135
+ "ROBERT", "ROBOT", "ROCKET", "RODEO", "ROMEO", "ROYAL",
136
+ "RUSSIAN", "SAFARI", "SALAD", "SALAMI", "SALMON", "SALON",
137
+ "SALUTE", "SAMBA", "SANDRA", "SANTANA", "SARDINE", "SCHOOL",
138
+ "SCREEN", "SCRIPT", "SECOND", "SECRET", "SECTION", "SEGMENT",
139
+ "SELECT", "SEMINAR", "SENATOR", "SENIOR", "SENSOR", "SERIAL",
140
+ "SERVICE", "SHERIFF", "SHOCK", "SIERRA", "SIGNAL", "SILICON",
141
+ "SILVER", "SIMILAR", "SIMON", "SINGLE", "SIREN", "SLOGAN",
142
+ "SOCIAL", "SODA", "SOLAR", "SOLID", "SOLO", "SONIC",
143
+ "SOVIET", "SPECIAL", "SPEED", "SPIRAL", "SPIRIT", "SPORT",
144
+ "STATIC", "STATION", "STATUS", "STEREO", "STONE", "STOP",
145
+ "STREET", "STRONG", "STUDENT", "STUDIO", "STYLE", "SUBJECT",
146
+ "SULTAN", "SUPER", "SUSAN", "SUSHI", "SUZUKI", "SWITCH",
147
+ "SYMBOL", "SYSTEM", "TACTIC", "TAHITI", "TALENT", "TANGO",
148
+ "TARZAN", "TAXI", "TELEX", "TEMPO", "TENNIS", "TEXAS",
149
+ "TEXTILE", "THEORY", "THERMOS", "TIGER", "TITANIC", "TOKYO",
150
+ "TOMATO", "TOPIC", "TORNADO", "TORONTO", "TORPEDO", "TOTAL",
151
+ "TOTEM", "TOURIST", "TRACTOR", "TRAFFIC", "TRANSIT", "TRAPEZE",
152
+ "TRAVEL", "TRIBAL", "TRICK", "TRIDENT", "TRILOGY", "TRIPOD",
153
+ "TROPIC", "TRUMPET", "TULIP", "TUNA", "TURBO", "TWIST",
154
+ "ULTRA", "UNIFORM", "UNION", "URANIUM", "VACUUM", "VALID",
155
+ "VAMPIRE", "VANILLA", "VATICAN", "VELVET", "VENTURA", "VENUS",
156
+ "VERTIGO", "VETERAN", "VICTOR", "VIDEO", "VIENNA", "VIKING",
157
+ "VILLAGE", "VINCENT", "VIOLET", "VIOLIN", "VIRTUAL", "VIRUS",
158
+ "VISA", "VISION", "VISITOR", "VISUAL", "VITAMIN", "VIVA",
159
+ "VOCAL", "VODKA", "VOLCANO", "VOLTAGE", "VOLUME", "VOYAGE",
160
+ "WATER", "WEEKEND", "WELCOME", "WESTERN", "WINDOW", "WINTER",
161
+ "WIZARD", "WOLF", "WORLD", "XRAY", "YANKEE", "YOGA",
162
+ "YOGURT", "YOYO", "ZEBRA", "ZERO", "ZIGZAG", "ZIPPER",
163
+ "ZODIAC", "ZOOM", "ABRAHAM", "ACTION", "ADDRESS", "ALABAMA",
164
+ "ALFRED", "ALMOND", "AMMONIA", "ANALYZE", "ANNUAL", "ANSWER",
165
+ "APPLE", "ARENA", "ARMADA", "ARSENAL", "ATLANTA", "ATOMIC",
166
+ "AVENUE", "AVERAGE", "BAGEL", "BAKER", "BALLET", "BAMBINO",
167
+ "BAMBOO", "BARBARA", "BASKET", "BAZAAR", "BENEFIT", "BICYCLE",
168
+ "BISHOP", "BLITZ", "BONJOUR", "BOTTLE", "BRIDGE", "BRITISH",
169
+ "BROTHER", "BRUSH", "BUDGET", "CABARET", "CADET", "CANDLE",
170
+ "CAPITAN", "CAPSULE", "CAREER", "CARTOON", "CHANNEL", "CHAPTER",
171
+ "CHEESE", "CIRCLE", "COBALT", "COCKPIT", "COLLEGE", "COMPASS",
172
+ "COMRADE", "CONDOR", "CRIMSON", "CYCLONE", "DARWIN", "DECLARE",
173
+ "DEGREE", "DELETE", "DELPHI", "DENVER", "DESERT", "DIVIDE",
174
+ "DOLBY", "DOMAIN", "DOMINGO", "DOUBLE", "DRINK", "DRIVER",
175
+ "EAGLE", "EARTH", "ECHO", "ECLIPSE", "EDITOR", "EDUCATE",
176
+ "EDWARD", "EFFECT", "ELECTRA", "EMERALD", "EMOTION", "EMPIRE",
177
+ "EMPTY", "ESCAPE", "ETERNAL", "EVENING", "EXHIBIT", "EXPAND",
178
+ "EXPLORE", "EXTREME", "FERRARI", "FIRST", "FLAG", "FOLIO",
179
+ "FORGET", "FORWARD", "FREEDOM", "FRESH", "FRIDAY", "FUJI",
180
+ "GALILEO", "GARCIA", "GENESIS", "GOLD", "GRAVITY", "HABITAT",
181
+ "HAMLET", "HARLEM", "HELIUM", "HOLIDAY", "HOUSE", "HUNTER",
182
+ "IBIZA", "ICEBERG", "IMAGINE", "INFANT", "ISOTOPE", "JACKSON",
183
+ "JAMAICA", "JASMINE", "JAVA", "JESSICA", "JUDO", "KITCHEN",
184
+ "LAZARUS", "LETTER", "LICENSE", "LITHIUM", "LOYAL", "LUCKY",
185
+ "MAGENTA", "MAILBOX", "MANUAL", "MARBLE", "MARY", "MAXWELL",
186
+ "MAYOR", "MILK", "MONARCH", "MONDAY", "MONEY", "MORNING",
187
+ "MOTHER", "MYSTERY", "NATIVE", "NECTAR", "NELSON", "NETWORK",
188
+ "NEXT", "NIKITA", "NOBEL", "NOBODY", "NOMINAL", "NORWAY",
189
+ "NOTHING", "NUMBER", "OCTOBER", "OFFICE", "OLIVER", "OPINION",
190
+ "OPTION", "ORDER", "OUTSIDE", "PACKAGE", "PANCAKE", "PANDORA",
191
+ "PANTHER", "PAPA", "PATIENT", "PATTERN", "PEDRO", "PENCIL",
192
+ "PEOPLE", "PHANTOM", "PHILIPS", "PIONEER", "PLUTO", "PODIUM",
193
+ "PORTAL", "POTATO", "PRIZE", "PROCESS", "PROTEIN", "PROXY",
194
+ "PUMP", "PUPIL", "PYTHON", "QUALITY", "QUARTER", "QUIET",
195
+ "RABBIT", "RADICAL", "RADIUS", "RAINBOW", "RALPH", "RAMIREZ",
196
+ "RAVIOLI", "RAYMOND", "RESPECT", "RESPOND", "RESULT", "RESUME",
197
+ "RETRO", "RICHARD", "RIGHT", "RISK", "RIVER", "ROGER",
198
+ "ROMAN", "RONDO", "SABRINA", "SALARY", "SALSA", "SAMPLE",
199
+ "SAMUEL", "SATURN", "SAVAGE", "SCARLET", "SCOOP", "SCORPIO",
200
+ "SCRATCH", "SCROLL", "SECTOR", "SERPENT", "SHADOW", "SHAMPOO",
201
+ "SHARON", "SHARP", "SHORT", "SHRINK", "SILENCE", "SILK",
202
+ "SIMPLE", "SLANG", "SMART", "SMOKE", "SNAKE", "SOCIETY",
203
+ "SONAR", "SONATA", "SOPRANO", "SOURCE", "SPARTA", "SPHERE",
204
+ "SPIDER", "SPONSOR", "SPRING", "ACID", "ADIOS", "AGATHA",
205
+ "ALAMO", "ALERT", "ALMANAC", "ALOHA", "ANDREA", "ANITA",
206
+ "ARCADE", "AURORA", "AVALON", "BABY", "BAGGAGE", "BALLOON",
207
+ "BANK", "BASIL", "BEGIN", "BISCUIT", "BLUE", "BOMBAY",
208
+ "BRAIN", "BRENDA", "BRIGADE", "CABLE", "CARMEN", "CELLO",
209
+ "CELTIC", "CHARIOT", "CHROME", "CITRUS", "CIVIL", "CLOUD",
210
+ "COMMON", "COMPARE", "COOL", "COPPER", "CORAL", "CRATER",
211
+ "CUBIC", "CUPID", "CYCLE", "DEPEND", "DOOR", "DREAM",
212
+ "DYNASTY", "EDISON", "EDITION", "ENIGMA", "EQUAL", "ERIC",
213
+ "EVENT", "EVITA", "EXODUS", "EXTEND", "FAMOUS", "FARMER",
214
+ "FOOD", "FOSSIL", "FROG", "FRUIT", "GENEVA", "GENTLE",
215
+ "GEORGE", "GIANT", "GILBERT", "GOSSIP", "GRAM", "GREEK",
216
+ "GRILLE", "HAMMER", "HARVEST", "HAZARD", "HEAVEN", "HERBERT",
217
+ "HEROIC", "HEXAGON", "HUSBAND", "IMMUNE", "INCA", "INCH",
218
+ "INITIAL", "ISABEL", "IVORY", "JASON", "JEROME", "JOEL",
219
+ "JOSHUA", "JOURNAL", "JUDGE", "JULIET", "JUMP", "JUSTICE",
220
+ "KIMONO", "KINETIC", "LEONID", "LIMA", "MAZE", "MEDUSA",
221
+ "MEMBER", "MEMPHIS", "MICHAEL", "MIGUEL", "MILAN", "MILE",
222
+ "MILLER", "MIMIC", "MIMOSA", "MISSION", "MONKEY", "MORAL",
223
+ "MOSES", "MOUSE", "NANCY", "NATASHA", "NEBULA", "NICKEL",
224
+ "NINA", "NOISE", "ORCHID", "OREGANO", "ORIGAMI", "ORINOCO",
225
+ "ORION", "OTHELLO", "PAPER", "PAPRIKA", "PRELUDE", "PREPARE",
226
+ "PRETEND", "PROFIT", "PROMISE", "PROVIDE", "PUZZLE", "REMOTE",
227
+ "REPAIR", "REPLY", "RIVAL", "RIVIERA", "ROBIN", "ROSE",
228
+ "ROVER", "RUDOLF", "SAGA", "SAHARA", "SCHOLAR", "SHELTER",
229
+ "SHIP", "SHOE", "SIGMA", "SISTER", "SLEEP", "SMILE",
230
+ "SPAIN", "SPARK", "SPLIT", "SPRAY", "SQUARE", "STADIUM",
231
+ "STAR", "STORM", "STORY", "STRANGE", "STRETCH", "STUART",
232
+ "SUBWAY", "SUGAR", "SULFUR", "SUMMER", "SURVIVE", "SWEET",
233
+ "SWIM", "TABLE", "TABOO", "TARGET", "TEACHER", "TELECOM",
234
+ "TEMPLE", "TIBET", "TICKET", "TINA", "TODAY", "TOGA",
235
+ "TOMMY", "TOWER", "TRIVIAL", "TUNNEL", "TURTLE", "TWIN",
236
+ "UNCLE", "UNICORN", "UNIQUE", "UPDATE", "VALERY", "VEGA",
237
+ "VERSION", "VOODOO", "WARNING", "WILLIAM", "WONDER", "YEAR",
238
+ "YELLOW", "YOUNG", "ABSENT", "ABSORB", "ACCENT", "ALFONSO",
239
+ "ALIAS", "AMBIENT", "ANDY", "ANVIL", "APPEAR", "APROPOS",
240
+ "ARCHER", "ARIEL", "ARMOR", "ARROW", "AUSTIN", "AVATAR",
241
+ "AXIS", "BABOON", "BAHAMA", "BALI", "BALSA", "BAZOOKA",
242
+ "BEACH", "BEAST", "BEATLES", "BEAUTY", "BEFORE", "BENNY",
243
+ "BETTY", "BETWEEN", "BEYOND", "BILLY", "BISON", "BLAST",
244
+ "BLESS", "BOGART", "BONANZA", "BOOK", "BORDER", "BRAVE",
245
+ "BREAD", "BREAK", "BROKEN", "BUCKET", "BUENOS", "BUFFALO",
246
+ "BUNDLE", "BUTTON", "BUZZER", "BYTE", "CAESAR", "CAMILLA",
247
+ "CANARY", "CANDID", "CARROT", "CAVE", "CHANT", "CHILD",
248
+ "CHOICE", "CHRIS", "CIPHER", "CLARION", "CLARK", "CLEVER",
249
+ "CLIFF", "CLONE", "CONAN", "CONDUCT", "CONGO", "CONTENT",
250
+ "COSTUME", "COTTON", "COVER", "CRACK", "CURRENT", "DANUBE",
251
+ "DATA", "DECIDE", "DESIRE", "DETAIL", "DEXTER", "DINNER",
252
+ "DISPUTE", "DONOR", "DRUID", "DRUM", "EASY", "EDDIE",
253
+ "ENJOY", "ENRICO", "EPOXY", "EROSION", "EXCEPT", "EXILE",
254
+ "EXPLAIN", "FAME", "FAST", "FATHER", "FELIX", "FIELD",
255
+ "FIONA", "FIRE", "FISH", "FLAME", "FLEX", "FLIPPER",
256
+ "FLOAT", "FLOOD", "FLOOR", "FORBID", "FOREVER", "FRACTAL",
257
+ "FRAME", "FREDDIE", "FRONT", "FUEL", "GALLOP", "GAME",
258
+ "GARBO", "GATE", "GIBSON", "GINGER", "GIRAFFE", "GIZMO",
259
+ "GLASS", "GOBLIN", "GOPHER", "GRACE", "GRAY", "GREGORY",
260
+ "GRID", "GRIFFIN", "GROUND", "GUEST", "GUSTAV", "GYRO",
261
+ "HAIR", "HALT", "HARRIS", "HEART", "HEAVY", "HERMAN",
262
+ "HIPPIE", "HOBBY", "HONEY", "HOPE", "HORSE", "HOSTEL",
263
+ "HYDRO", "IMITATE", "INFO", "INGRID", "INSIDE", "INVENT",
264
+ "INVEST", "INVITE", "IRON", "IVAN", "JAMES", "JESTER",
265
+ "JIMMY", "JOIN", "JOSEPH", "JUICE", "JULIUS", "JULY",
266
+ "JUSTIN", "KANSAS", "KARL", "KEVIN", "KIWI", "LADDER",
267
+ "LAKE", "LAURA", "LEARN", "LEGACY", "LEGEND", "LESSON",
268
+ "LIFE", "LIGHT", "LIST", "LOCATE", "LOPEZ", "LORENZO",
269
+ "LOVE", "LUNCH", "MALTA", "MAMMAL", "MARGO", "MARION",
270
+ "MASK", "MATCH", "MAYDAY", "MEANING", "MERCY", "MIDDLE",
271
+ "MIKE", "MIRROR", "MODEST", "MORPH", "MORRIS", "NADIA",
272
+ "NATO", "NAVY", "NEEDLE", "NEURON", "NEVER", "NEWTON",
273
+ "NICE", "NIGHT", "NISSAN", "NITRO", "NIXON", "NORTH",
274
+ "OBERON", "OCTAVIA", "OHIO", "OLGA", "OPEN", "OPUS",
275
+ "ORCA", "OVAL", "OWNER", "PAGE", "PAINT", "PALMA",
276
+ "PARADE", "PARENT", "PARstatic const char* extwordlist[MN_REMAINDER] =
277
+{
278
+ "EGO", "FAX", "JET", "JOB", "RIO", "SKI",
279
+ "YES"
280
+};
281
+
282
+/*
283
+** String comparator which supports both '\0' and ' ' as a terminator
284
+** character.
285
+*/
286
+
287
+static int strspace.
288
+*/
289
+
290
+static int strspecialcmp(const char* s1, const char* s2)
291
+{
292
+ int
--- a/src/mnemonic.c
+++ b/src/mnemonic.c
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/mnemonic.c
+++ b/src/mnemonic.c
@@ -0,0 +1,292 @@
1 /*
2 ** Copyright (c) 2008 D. Richard Hipp
3 **
4 ** This program is free software; you can redistribute it and/or
5 ** modify it under the terms of the Simplified BSD License (also
6 ** known as the "2-Clause Licennse" or "FreeBSD License".)
7 ** This program is distributed in the hope that it will be useful,
8 ** but without any warranty; without even the implied warranty of
9 ** merchantability or fitness for a particular purpose.
10 **
11 ** Author contact information:
12 ** [email protected]
13 ** http://www.hwaci.com/drh/
14 **
15 *******************************************************************************
16 **
17 ** This file contains the code to do mnemonic encoding of commit IDs. Theis taken from:
18 **
19 ** https://github.com/singpolyma/mnemonicode
20 **
21 ** The original code is MIT licensed, but this code uses a reimplementation
22 ** from scratch anywaynly encode seven hex digits.
23 */
24
25 #include "config.h"
26 #include "mnemoni#define MN_REMAINDER 7
27
28 static const char* basewordlist[MN_BASE] =
29 {
30 "ACADEMY", "ACROBAT", "ACTIVE", "ACTOR", "ADAM", "ADMIRAL",
31 "ADRIAN", "AFRICA", "AGENDA", "AGENT", "AIRLINE", "AIRPORT",
32 "ALADDIN", "ALARM", "ALASKA", "ALBERT", "ALBINO", "ALBUM",
33 "ALCOHOL", "ALEX", "ALGEBRA", "ALIBI", "ALICE", "ALIEN",
34 "ALPHA", "ALPINE", "AMADEUS", "AMANDA", "AMAZON", "AMBER",
35 "AMERICA", "AMIGO", "ANALOG", "ANATOMY", "ANGEL", "ANIMAL",
36 "ANTENNA", "ANTONIO", "APOLLO", "APRIL", "ARCHIVE", "ARCTIC",
37 "ARIZONA", "ARNOLD", "AROMA", "ARTHUR", "ARTIST", "ASIA",
38 "ASPECT", "ASPIRIN", "ATHENA", "ATHLETE", "ATLAS", "AUDIO",
39 "AUGUST", "AUSTRIA", "AXIOM", "AZTEC", "BALANCE", "BALLAD",
40 "BANANA", "BANDIT", "BANJO", "BARCODE", "BARON", "BASIC",
41 "BATTERY", "BELGIUM", "BERLIN", "BERMUDA", "BERNARD", "BIKINI",
42 "BINARY", "BINGO", "BIOLOGY", "BLOCK", "BLONDE", "BONUS",
43 "BORIS", "BOSTON", "BOXER", "BRANDY", "BRAVO", "BRAZIL",
44 "BRONZE", "BROWN", "BRUCE", "BRUNO", "BURGER", "BURMA",
45 "CABINET", "CACTUS", "CAFE", "CAIRO", "CAKE", "CALYPSO",
46 "CAMEL", "CAMERA", "CAMPUS", "CANADA", "CANAL", "CANNON",
47 "CANOE", "CANTINA", "CANVAS", "CANYON", "CAPITAL", "CARAMEL",
48 "CARAVAN", "CARBON", "CARGO", "CARLO", "CAROL", "CARPET",
49 "CARTEL", "CASINO", "CASTLE", "CASTRO", "CATALOG", "CAVIAR",
50 "CECILIA", "CEMENT", "CENTER", "CENTURY", "CERAMIC", "CHAMBER",
51 "CHANCE", "CHANGE", "CHAOS", "CHARLIE", "CHARM", "CHARTER",
52 "CHEF", "CHEMIST", "CHERRY", "CHESS", "CHICAGO", "CHICKEN",
53 "CHIEF", "CHINA", "CIGAR", "CINEMA", "CIRCUS", "CITIZEN",
54 "CITY", "CLARA", "CLASSIC", "CLAUDIA", "CLEAN", "CLIENT",
55 "CLIMAX", "CLINIC", "CLOCK", "CLUB", "COBRA", "COCONUT",
56 "COLA", "COLLECT", "COLOMBO", "COLONY", "COLOR", "COMBAT",
57 "COMEDY", "COMET", "COMMAND", "COMPACT", "COMPANY", "COMPLEX",
58 "CONCEPT", "CONCERT", "CONNECT", "CONSUL", "CONTACT", "CONTEXT",
59 "CONTOUR", "CONTROL", "CONVERT", "COPY", "CORNER", "CORONA",
60 "CORRECT", "COSMOS", "COUPLE", "COURAGE", "COWBOY", "CRAFT",
61 "CRASH", "CREDIT", "CRICKET", "CRITIC", "CROWN", "CRYSTAL",
62 "CUBA", "CULTURE", "DALLAS", "DANCE", "DANIEL", "DAVID",
63 "DECADE", "DECIMAL", "DELIVER", "DELTA", "DELUXE", "DEMAND",
64 "DEMO", "DENMARK", "DERBY", "DESIGN", "DETECT", "DEVELOP",
65 "DIAGRAM", "DIALOG", "DIAMOND", "DIANA", "DIEGO", "DIESEL",
66 "DIET", "DIGITAL", "DILEMMA", "DIPLOMA", "DIRECT", "DISCO",
67 "DISNEY", "DISTANT", "DOCTOR", "DOLLAR", "DOMINIC", "DOMINO",
68 "DONALD", "DRAGON", "DRAMA", "DUBLIN", "DUET", "DYNAMIC",
69 "EAST", "ECOLOGY", "ECONOMY", "EDGAR", "EGYPT", "ELASTIC",
70 "ELEGANT", "ELEMENT", "ELITE", "ELVIS", "EMAIL", "ENERGY",
71 "ENGINE", "ENGLISH", "EPISODE", "EQUATOR", "ESCORT", "ETHNIC",
72 "EUROPE", "EVEREST", "EVIDENT", "EXACT", "EXAMPLE", "EXIT",
73 "EXOTIC", "EXPORT", "EXPRESS", "EXTRA", "FABRIC", "FACTOR",
74 "FALCON", "FAMILY", "FANTASY", "FASHION", "FIBER", "FICTION",
75 "FIDEL", "FIESTA", "FIGURE", "FILM", "FILTER", "FINAL",
76 "FINANCE", "FINISH", "FINLAND", "FLASH", "FLORIDA", "FLOWER",
77 "FLUID", "FLUTE", "FOCUS", "FORD", "FOREST", "FORMAL",
78 "FORMAT", "FORMULA", "FORTUNE", "FORUM", "FRAGILE", "FRANCE",
79 "FRANK", "FRIEND", "FROZEN", "FUTURE", "GABRIEL", "GALAXY",
80 "GALLERY", "GAMMA", "GARAGE", "GARDEN", "GARLIC", "GEMINI",
81 "GENERAL", "GENETIC", "GENIUS", "GERMANY", "GLOBAL", "GLORIA",
82 "GOLF", "GONDOLA", "GONG", "GOOD", "GORDON", "GORILLA",
83 "GRAND", "GRANITE", "GRAPH", "GREEN", "GROUP", "GUIDE",
84 "GUITAR", "GURU", "HAND", "HAPPY", "HARBOR", "HARMONY",
85 "HARVARD", "HAVANA", "HAWAII", "HELENA", "HELLO", "HENRY",
86 "HILTON", "HISTORY", "HORIZON", "HOTEL", "HUMAN", "HUMOR",
87 "ICON", "IDEA", "IGLOO", "IGOR", "IMAGE", "IMPACT",
88 "IMPORT", "INDEX", "INDIA", "INDIGO", "INPUT", "INSECT",
89 "INSTANT", "IRIS", "ITALIAN", "JACKET", "JACOB", "JAGUAR",
90 "JANET", "JAPAN", "JARGON", "JAZZ", "JEEP", "JOHN",
91 "JOKER", "JORDAN", "JUMBO", "JUNE", "JUNGLE", "JUNIOR",
92 "JUPITER", "KARATE", "KARMA", "KAYAK", "KERMIT", "KILO",
93 "KING", "KOALA", "KOREA", "LABOR", "LADY", "LAGOON",
94 "LAPTOP", "LASER", "LATIN", "LAVA", "LECTURE", "LEFT",
95 "LEGAL", "LEMON", "LEVEL", "LEXICON", "LIBERAL", "LIBRA",
96 "LIMBO", "LIMIT", "LINDA", "LINEAR", "LION", "LIQUID",
97 "LITER", "LITTLE", "LLAMA", "LOBBY", "LOBSTER", "LOCAL",
98 "LOGIC", "LOGO", "LOLA", "LONDON", "LOTUS", "LUCAS",
99 "LUNAR", "MACHINE", "MACRO", "MADAM", "MADONNA", "MADRID",
100 "MAESTRO", "MAGIC", "MAGNET", "MAGNUM", "MAJOR", "MAMA",
101 "MAMBO", "MANAGER", "MANGO", "MANILA", "MARCO", "MARINA",
102 "MARKET", "MARS", "MARTIN", "MARVIN", "MASTER", "MATRIX",
103 "MAXIMUM", "MEDIA", "MEDICAL", "MEGA", "MELODY", "MELON",
104 "MEMO", "MENTAL", "MENTOR", "MENU", "MERCURY", "MESSAGE",
105 "METAL", "METEOR", "METER", "METHOD", "METRO", "MEXICO",
106 "MIAMI", "MICRO", "MILLION", "MINERAL", "MINIMUM", "MINUS",
107 "MINUTE", "MIRACLE", "MIRAGE", "MIRANDA", "MISTER", "MIXER",
108 "MOBILE", "MODEL", "MODEM", "MODERN", "MODULAR", "MOMENT",
109 "MONACO", "MONICA", "MONITOR", "MONO", "MONSTER", "MONTANA",
110 "MORGAN", "MOTEL", "MOTIF", "MOTOR", "MOZART", "MULTI",
111 "MUSEUM", "MUSIC", "MUSTANG", "NATURAL", "NEON", "NEPAL",
112 "NEPTUNE", "NERVE", "NEUTRAL", "NEVADA", "NEWS", "NINJA",
113 "NIRVANA", "NORMAL", "NOVA", "NOVEL", "NUCLEAR", "NUMERIC",
114 "NYLON", "OASIS", "OBJECT", "OBSERVE", "OCEAN", "OCTOPUS",
115 "OLIVIA", "OLYMPIC", "OMEGA", "OPERA", "OPTIC", "OPTIMAL",
116 "ORANGE", "ORBIT", "ORGANIC", "ORIENT", "ORIGIN", "ORLANDO",
117 "OSCAR", "OXFORD", "OXYGEN", "OZONE", "PABLO", "PACIFIC",
118 "PAGODA", "PALACE", "PAMELA", "PANAMA", "PANDA", "PANEL",
119 "PANIC", "PARADOX", "PARDON", "PARIS", "PARKER", "PARKING",
120 "PARODY", "PARTNER", "PASSAGE", "PASSIVE", "PASTA", "PASTEL",
121 "PATENT", "PATRIOT", "PATROL", "PATRON", "PEGASUS", "PELICAN",
122 "PENGUIN", "PEPPER", "PERCENT", "PERFECT", "PERFUME", "PERIOD",
123 "PERMIT", "PERSON", "PERU", "PHONE", "PHOTO", "PIANO",
124 "PICASSO", "PICNIC", "PICTURE", "PIGMENT", "PILGRIM", "PILOT",
125 "PIRATE", "PIXEL", "PIZZA", "PLANET", "PLASMA", "PLASTER",
126 "PLASTIC", "PLAZA", "POCKET", "POEM", "POETIC", "POKER",
127 "POLARIS", "POLICE", "POLITIC", "POLO", "POLYGON", "PONY",
128 "POPCORN", "POPULAR", "POSTAGE", "POSTAL", "PRECISE", "PREFIX",
129 "PREMIUM", "PRESENT", "PRICE", "PRINCE", "PRINTER", "PRISM",
130 "PRIVATE", "PRODUCT", "PROFILE", "PROGRAM", "PROJECT", "PROTECT",
131 "PROTON", "PUBLIC", "PULSE", "PUMA", "PYRAMID", "QUEEN",
132 "RADAR", "RADIO", "RANDOM", "RAPID", "REBEL", "RECORD",
133 "RECYCLE", "REFLEX", "REFORM", "REGARD", "REGULAR", "RELAX",
134 "REPORT", "REPTILE", "REVERSE", "RICARDO", "RINGO", "RITUAL",
135 "ROBERT", "ROBOT", "ROCKET", "RODEO", "ROMEO", "ROYAL",
136 "RUSSIAN", "SAFARI", "SALAD", "SALAMI", "SALMON", "SALON",
137 "SALUTE", "SAMBA", "SANDRA", "SANTANA", "SARDINE", "SCHOOL",
138 "SCREEN", "SCRIPT", "SECOND", "SECRET", "SECTION", "SEGMENT",
139 "SELECT", "SEMINAR", "SENATOR", "SENIOR", "SENSOR", "SERIAL",
140 "SERVICE", "SHERIFF", "SHOCK", "SIERRA", "SIGNAL", "SILICON",
141 "SILVER", "SIMILAR", "SIMON", "SINGLE", "SIREN", "SLOGAN",
142 "SOCIAL", "SODA", "SOLAR", "SOLID", "SOLO", "SONIC",
143 "SOVIET", "SPECIAL", "SPEED", "SPIRAL", "SPIRIT", "SPORT",
144 "STATIC", "STATION", "STATUS", "STEREO", "STONE", "STOP",
145 "STREET", "STRONG", "STUDENT", "STUDIO", "STYLE", "SUBJECT",
146 "SULTAN", "SUPER", "SUSAN", "SUSHI", "SUZUKI", "SWITCH",
147 "SYMBOL", "SYSTEM", "TACTIC", "TAHITI", "TALENT", "TANGO",
148 "TARZAN", "TAXI", "TELEX", "TEMPO", "TENNIS", "TEXAS",
149 "TEXTILE", "THEORY", "THERMOS", "TIGER", "TITANIC", "TOKYO",
150 "TOMATO", "TOPIC", "TORNADO", "TORONTO", "TORPEDO", "TOTAL",
151 "TOTEM", "TOURIST", "TRACTOR", "TRAFFIC", "TRANSIT", "TRAPEZE",
152 "TRAVEL", "TRIBAL", "TRICK", "TRIDENT", "TRILOGY", "TRIPOD",
153 "TROPIC", "TRUMPET", "TULIP", "TUNA", "TURBO", "TWIST",
154 "ULTRA", "UNIFORM", "UNION", "URANIUM", "VACUUM", "VALID",
155 "VAMPIRE", "VANILLA", "VATICAN", "VELVET", "VENTURA", "VENUS",
156 "VERTIGO", "VETERAN", "VICTOR", "VIDEO", "VIENNA", "VIKING",
157 "VILLAGE", "VINCENT", "VIOLET", "VIOLIN", "VIRTUAL", "VIRUS",
158 "VISA", "VISION", "VISITOR", "VISUAL", "VITAMIN", "VIVA",
159 "VOCAL", "VODKA", "VOLCANO", "VOLTAGE", "VOLUME", "VOYAGE",
160 "WATER", "WEEKEND", "WELCOME", "WESTERN", "WINDOW", "WINTER",
161 "WIZARD", "WOLF", "WORLD", "XRAY", "YANKEE", "YOGA",
162 "YOGURT", "YOYO", "ZEBRA", "ZERO", "ZIGZAG", "ZIPPER",
163 "ZODIAC", "ZOOM", "ABRAHAM", "ACTION", "ADDRESS", "ALABAMA",
164 "ALFRED", "ALMOND", "AMMONIA", "ANALYZE", "ANNUAL", "ANSWER",
165 "APPLE", "ARENA", "ARMADA", "ARSENAL", "ATLANTA", "ATOMIC",
166 "AVENUE", "AVERAGE", "BAGEL", "BAKER", "BALLET", "BAMBINO",
167 "BAMBOO", "BARBARA", "BASKET", "BAZAAR", "BENEFIT", "BICYCLE",
168 "BISHOP", "BLITZ", "BONJOUR", "BOTTLE", "BRIDGE", "BRITISH",
169 "BROTHER", "BRUSH", "BUDGET", "CABARET", "CADET", "CANDLE",
170 "CAPITAN", "CAPSULE", "CAREER", "CARTOON", "CHANNEL", "CHAPTER",
171 "CHEESE", "CIRCLE", "COBALT", "COCKPIT", "COLLEGE", "COMPASS",
172 "COMRADE", "CONDOR", "CRIMSON", "CYCLONE", "DARWIN", "DECLARE",
173 "DEGREE", "DELETE", "DELPHI", "DENVER", "DESERT", "DIVIDE",
174 "DOLBY", "DOMAIN", "DOMINGO", "DOUBLE", "DRINK", "DRIVER",
175 "EAGLE", "EARTH", "ECHO", "ECLIPSE", "EDITOR", "EDUCATE",
176 "EDWARD", "EFFECT", "ELECTRA", "EMERALD", "EMOTION", "EMPIRE",
177 "EMPTY", "ESCAPE", "ETERNAL", "EVENING", "EXHIBIT", "EXPAND",
178 "EXPLORE", "EXTREME", "FERRARI", "FIRST", "FLAG", "FOLIO",
179 "FORGET", "FORWARD", "FREEDOM", "FRESH", "FRIDAY", "FUJI",
180 "GALILEO", "GARCIA", "GENESIS", "GOLD", "GRAVITY", "HABITAT",
181 "HAMLET", "HARLEM", "HELIUM", "HOLIDAY", "HOUSE", "HUNTER",
182 "IBIZA", "ICEBERG", "IMAGINE", "INFANT", "ISOTOPE", "JACKSON",
183 "JAMAICA", "JASMINE", "JAVA", "JESSICA", "JUDO", "KITCHEN",
184 "LAZARUS", "LETTER", "LICENSE", "LITHIUM", "LOYAL", "LUCKY",
185 "MAGENTA", "MAILBOX", "MANUAL", "MARBLE", "MARY", "MAXWELL",
186 "MAYOR", "MILK", "MONARCH", "MONDAY", "MONEY", "MORNING",
187 "MOTHER", "MYSTERY", "NATIVE", "NECTAR", "NELSON", "NETWORK",
188 "NEXT", "NIKITA", "NOBEL", "NOBODY", "NOMINAL", "NORWAY",
189 "NOTHING", "NUMBER", "OCTOBER", "OFFICE", "OLIVER", "OPINION",
190 "OPTION", "ORDER", "OUTSIDE", "PACKAGE", "PANCAKE", "PANDORA",
191 "PANTHER", "PAPA", "PATIENT", "PATTERN", "PEDRO", "PENCIL",
192 "PEOPLE", "PHANTOM", "PHILIPS", "PIONEER", "PLUTO", "PODIUM",
193 "PORTAL", "POTATO", "PRIZE", "PROCESS", "PROTEIN", "PROXY",
194 "PUMP", "PUPIL", "PYTHON", "QUALITY", "QUARTER", "QUIET",
195 "RABBIT", "RADICAL", "RADIUS", "RAINBOW", "RALPH", "RAMIREZ",
196 "RAVIOLI", "RAYMOND", "RESPECT", "RESPOND", "RESULT", "RESUME",
197 "RETRO", "RICHARD", "RIGHT", "RISK", "RIVER", "ROGER",
198 "ROMAN", "RONDO", "SABRINA", "SALARY", "SALSA", "SAMPLE",
199 "SAMUEL", "SATURN", "SAVAGE", "SCARLET", "SCOOP", "SCORPIO",
200 "SCRATCH", "SCROLL", "SECTOR", "SERPENT", "SHADOW", "SHAMPOO",
201 "SHARON", "SHARP", "SHORT", "SHRINK", "SILENCE", "SILK",
202 "SIMPLE", "SLANG", "SMART", "SMOKE", "SNAKE", "SOCIETY",
203 "SONAR", "SONATA", "SOPRANO", "SOURCE", "SPARTA", "SPHERE",
204 "SPIDER", "SPONSOR", "SPRING", "ACID", "ADIOS", "AGATHA",
205 "ALAMO", "ALERT", "ALMANAC", "ALOHA", "ANDREA", "ANITA",
206 "ARCADE", "AURORA", "AVALON", "BABY", "BAGGAGE", "BALLOON",
207 "BANK", "BASIL", "BEGIN", "BISCUIT", "BLUE", "BOMBAY",
208 "BRAIN", "BRENDA", "BRIGADE", "CABLE", "CARMEN", "CELLO",
209 "CELTIC", "CHARIOT", "CHROME", "CITRUS", "CIVIL", "CLOUD",
210 "COMMON", "COMPARE", "COOL", "COPPER", "CORAL", "CRATER",
211 "CUBIC", "CUPID", "CYCLE", "DEPEND", "DOOR", "DREAM",
212 "DYNASTY", "EDISON", "EDITION", "ENIGMA", "EQUAL", "ERIC",
213 "EVENT", "EVITA", "EXODUS", "EXTEND", "FAMOUS", "FARMER",
214 "FOOD", "FOSSIL", "FROG", "FRUIT", "GENEVA", "GENTLE",
215 "GEORGE", "GIANT", "GILBERT", "GOSSIP", "GRAM", "GREEK",
216 "GRILLE", "HAMMER", "HARVEST", "HAZARD", "HEAVEN", "HERBERT",
217 "HEROIC", "HEXAGON", "HUSBAND", "IMMUNE", "INCA", "INCH",
218 "INITIAL", "ISABEL", "IVORY", "JASON", "JEROME", "JOEL",
219 "JOSHUA", "JOURNAL", "JUDGE", "JULIET", "JUMP", "JUSTICE",
220 "KIMONO", "KINETIC", "LEONID", "LIMA", "MAZE", "MEDUSA",
221 "MEMBER", "MEMPHIS", "MICHAEL", "MIGUEL", "MILAN", "MILE",
222 "MILLER", "MIMIC", "MIMOSA", "MISSION", "MONKEY", "MORAL",
223 "MOSES", "MOUSE", "NANCY", "NATASHA", "NEBULA", "NICKEL",
224 "NINA", "NOISE", "ORCHID", "OREGANO", "ORIGAMI", "ORINOCO",
225 "ORION", "OTHELLO", "PAPER", "PAPRIKA", "PRELUDE", "PREPARE",
226 "PRETEND", "PROFIT", "PROMISE", "PROVIDE", "PUZZLE", "REMOTE",
227 "REPAIR", "REPLY", "RIVAL", "RIVIERA", "ROBIN", "ROSE",
228 "ROVER", "RUDOLF", "SAGA", "SAHARA", "SCHOLAR", "SHELTER",
229 "SHIP", "SHOE", "SIGMA", "SISTER", "SLEEP", "SMILE",
230 "SPAIN", "SPARK", "SPLIT", "SPRAY", "SQUARE", "STADIUM",
231 "STAR", "STORM", "STORY", "STRANGE", "STRETCH", "STUART",
232 "SUBWAY", "SUGAR", "SULFUR", "SUMMER", "SURVIVE", "SWEET",
233 "SWIM", "TABLE", "TABOO", "TARGET", "TEACHER", "TELECOM",
234 "TEMPLE", "TIBET", "TICKET", "TINA", "TODAY", "TOGA",
235 "TOMMY", "TOWER", "TRIVIAL", "TUNNEL", "TURTLE", "TWIN",
236 "UNCLE", "UNICORN", "UNIQUE", "UPDATE", "VALERY", "VEGA",
237 "VERSION", "VOODOO", "WARNING", "WILLIAM", "WONDER", "YEAR",
238 "YELLOW", "YOUNG", "ABSENT", "ABSORB", "ACCENT", "ALFONSO",
239 "ALIAS", "AMBIENT", "ANDY", "ANVIL", "APPEAR", "APROPOS",
240 "ARCHER", "ARIEL", "ARMOR", "ARROW", "AUSTIN", "AVATAR",
241 "AXIS", "BABOON", "BAHAMA", "BALI", "BALSA", "BAZOOKA",
242 "BEACH", "BEAST", "BEATLES", "BEAUTY", "BEFORE", "BENNY",
243 "BETTY", "BETWEEN", "BEYOND", "BILLY", "BISON", "BLAST",
244 "BLESS", "BOGART", "BONANZA", "BOOK", "BORDER", "BRAVE",
245 "BREAD", "BREAK", "BROKEN", "BUCKET", "BUENOS", "BUFFALO",
246 "BUNDLE", "BUTTON", "BUZZER", "BYTE", "CAESAR", "CAMILLA",
247 "CANARY", "CANDID", "CARROT", "CAVE", "CHANT", "CHILD",
248 "CHOICE", "CHRIS", "CIPHER", "CLARION", "CLARK", "CLEVER",
249 "CLIFF", "CLONE", "CONAN", "CONDUCT", "CONGO", "CONTENT",
250 "COSTUME", "COTTON", "COVER", "CRACK", "CURRENT", "DANUBE",
251 "DATA", "DECIDE", "DESIRE", "DETAIL", "DEXTER", "DINNER",
252 "DISPUTE", "DONOR", "DRUID", "DRUM", "EASY", "EDDIE",
253 "ENJOY", "ENRICO", "EPOXY", "EROSION", "EXCEPT", "EXILE",
254 "EXPLAIN", "FAME", "FAST", "FATHER", "FELIX", "FIELD",
255 "FIONA", "FIRE", "FISH", "FLAME", "FLEX", "FLIPPER",
256 "FLOAT", "FLOOD", "FLOOR", "FORBID", "FOREVER", "FRACTAL",
257 "FRAME", "FREDDIE", "FRONT", "FUEL", "GALLOP", "GAME",
258 "GARBO", "GATE", "GIBSON", "GINGER", "GIRAFFE", "GIZMO",
259 "GLASS", "GOBLIN", "GOPHER", "GRACE", "GRAY", "GREGORY",
260 "GRID", "GRIFFIN", "GROUND", "GUEST", "GUSTAV", "GYRO",
261 "HAIR", "HALT", "HARRIS", "HEART", "HEAVY", "HERMAN",
262 "HIPPIE", "HOBBY", "HONEY", "HOPE", "HORSE", "HOSTEL",
263 "HYDRO", "IMITATE", "INFO", "INGRID", "INSIDE", "INVENT",
264 "INVEST", "INVITE", "IRON", "IVAN", "JAMES", "JESTER",
265 "JIMMY", "JOIN", "JOSEPH", "JUICE", "JULIUS", "JULY",
266 "JUSTIN", "KANSAS", "KARL", "KEVIN", "KIWI", "LADDER",
267 "LAKE", "LAURA", "LEARN", "LEGACY", "LEGEND", "LESSON",
268 "LIFE", "LIGHT", "LIST", "LOCATE", "LOPEZ", "LORENZO",
269 "LOVE", "LUNCH", "MALTA", "MAMMAL", "MARGO", "MARION",
270 "MASK", "MATCH", "MAYDAY", "MEANING", "MERCY", "MIDDLE",
271 "MIKE", "MIRROR", "MODEST", "MORPH", "MORRIS", "NADIA",
272 "NATO", "NAVY", "NEEDLE", "NEURON", "NEVER", "NEWTON",
273 "NICE", "NIGHT", "NISSAN", "NITRO", "NIXON", "NORTH",
274 "OBERON", "OCTAVIA", "OHIO", "OLGA", "OPEN", "OPUS",
275 "ORCA", "OVAL", "OWNER", "PAGE", "PAINT", "PALMA",
276 "PARADE", "PARENT", "PARstatic const char* extwordlist[MN_REMAINDER] =
277 {
278 "EGO", "FAX", "JET", "JOB", "RIO", "SKI",
279 "YES"
280 };
281
282 /*
283 ** String comparator which supports both '\0' and ' ' as a terminator
284 ** character.
285 */
286
287 static int strspace.
288 */
289
290 static int strspecialcmp(const char* s1, const char* s2)
291 {
292 int
+6 -7
--- src/shell.c
+++ src/shell.c
@@ -3230,27 +3230,26 @@
32303230
data.zDbFilename = ":memory:";
32313231
#else
32323232
fprintf(stderr,"%s: Error: no database filename specified\n", Argv0);
32333233
return 1;
32343234
#endif
3235
- /***** Begin Fossil Patch *****/
3236
- {
3237
- extern void fossil_open(const char **);
3238
- fossil_open(&data.zDbFilename);
3239
- }
3240
- /***** End Fossil Patch *****/
32413235
}
3236
+
32423237
data.out = stdout;
32433238
32443239
/* Go ahead and open the database file if it already exists. If the
32453240
** file does not exist, delay opening it. This prevents empty database
32463241
** files from being created if a user mistypes the database name argument
32473242
** to the sqlite command-line tool.
32483243
*/
3249
- if( access(data.zDbFilename, 0)==0 ){
3244
+ /***** Begin Fossil Patch *****/
3245
+ {
3246
+ extern void fossil_open(const char **);
32503247
open_db(&data);
3248
+ add_sql_func(data.db);
32513249
}
3250
+ /***** End Fossil Patch *****/
32523251
32533252
/* Process the initialization file if there is one. If no -init option
32543253
** is given on the command line, look for a file named ~/.sqliterc and
32553254
** try to process it.
32563255
*/
32573256
--- src/shell.c
+++ src/shell.c
@@ -3230,27 +3230,26 @@
3230 data.zDbFilename = ":memory:";
3231 #else
3232 fprintf(stderr,"%s: Error: no database filename specified\n", Argv0);
3233 return 1;
3234 #endif
3235 /***** Begin Fossil Patch *****/
3236 {
3237 extern void fossil_open(const char **);
3238 fossil_open(&data.zDbFilename);
3239 }
3240 /***** End Fossil Patch *****/
3241 }
 
3242 data.out = stdout;
3243
3244 /* Go ahead and open the database file if it already exists. If the
3245 ** file does not exist, delay opening it. This prevents empty database
3246 ** files from being created if a user mistypes the database name argument
3247 ** to the sqlite command-line tool.
3248 */
3249 if( access(data.zDbFilename, 0)==0 ){
 
 
3250 open_db(&data);
 
3251 }
 
3252
3253 /* Process the initialization file if there is one. If no -init option
3254 ** is given on the command line, look for a file named ~/.sqliterc and
3255 ** try to process it.
3256 */
3257
--- src/shell.c
+++ src/shell.c
@@ -3230,27 +3230,26 @@
3230 data.zDbFilename = ":memory:";
3231 #else
3232 fprintf(stderr,"%s: Error: no database filename specified\n", Argv0);
3233 return 1;
3234 #endif
 
 
 
 
 
 
3235 }
3236
3237 data.out = stdout;
3238
3239 /* Go ahead and open the database file if it already exists. If the
3240 ** file does not exist, delay opening it. This prevents empty database
3241 ** files from being created if a user mistypes the database name argument
3242 ** to the sqlite command-line tool.
3243 */
3244 /***** Begin Fossil Patch *****/
3245 {
3246 extern void fossil_open(const char **);
3247 open_db(&data);
3248 add_sql_func(data.db);
3249 }
3250 /***** End Fossil Patch *****/
3251
3252 /* Process the initialization file if there is one. If no -init option
3253 ** is given on the command line, look for a file named ~/.sqliterc and
3254 ** try to process it.
3255 */
3256
+5 -19
--- src/sqlcmd.c
+++ src/sqlcmd.c
@@ -103,29 +103,24 @@
103103
sqlite3_result_error(context, "input is not zlib compressed", -1);
104104
}
105105
}
106106
107107
/*
108
-** This is the "automatic extension" initializer that runs right after
109
-** the connection to the repository database is opened. Set up the
110
-** database connection to be more useful to the human operator.
108
+** This function adds any SQL functions that we might need during the
109
+** session.
111110
*/
112
-static int sqlcmd_autoinit(
113
- sqlite3 *db,
114
- const char **pzErrMsg,
115
- const void *notUsed
111
+void add_sql_func(
112
+ sqlite3 *db
116113
){
117114
sqlite3_create_function(db, "content", 1, SQLITE_ANY, 0,
118115
sqlcmd_content, 0, 0);
119116
sqlite3_create_function(db, "compress", 1, SQLITE_ANY, 0,
120117
sqlcmd_compress, 0, 0);
121118
sqlite3_create_function(db, "decompress", 1, SQLITE_ANY, 0,
122119
sqlcmd_decompress, 0, 0);
123120
re_add_sql_func(db);
124
- g.repositoryOpen = 1;
125
- g.db = db;
126
- return SQLITE_OK;
121
+ mnemonic_add_sql_func(db);
127122
}
128123
129124
130125
/*
131126
** COMMAND: sqlite3
@@ -146,14 +141,5 @@
146141
db_close(1);
147142
sqlite3_shutdown();
148143
sqlite3_shell(g.argc-1, g.argv+1);
149144
g.db = 0;
150145
}
151
-
152
-/*
153
-** This routine is called by the patched sqlite3 command-line shell in order
154
-** to load the name and database connection for the open Fossil database.
155
-*/
156
-void fossil_open(const char **pzRepoName){
157
- sqlite3_auto_extension((void(*)(void))sqlcmd_autoinit);
158
- *pzRepoName = g.zRepositoryName;
159
-}
160146
--- src/sqlcmd.c
+++ src/sqlcmd.c
@@ -103,29 +103,24 @@
103 sqlite3_result_error(context, "input is not zlib compressed", -1);
104 }
105 }
106
107 /*
108 ** This is the "automatic extension" initializer that runs right after
109 ** the connection to the repository database is opened. Set up the
110 ** database connection to be more useful to the human operator.
111 */
112 static int sqlcmd_autoinit(
113 sqlite3 *db,
114 const char **pzErrMsg,
115 const void *notUsed
116 ){
117 sqlite3_create_function(db, "content", 1, SQLITE_ANY, 0,
118 sqlcmd_content, 0, 0);
119 sqlite3_create_function(db, "compress", 1, SQLITE_ANY, 0,
120 sqlcmd_compress, 0, 0);
121 sqlite3_create_function(db, "decompress", 1, SQLITE_ANY, 0,
122 sqlcmd_decompress, 0, 0);
123 re_add_sql_func(db);
124 g.repositoryOpen = 1;
125 g.db = db;
126 return SQLITE_OK;
127 }
128
129
130 /*
131 ** COMMAND: sqlite3
@@ -146,14 +141,5 @@
146 db_close(1);
147 sqlite3_shutdown();
148 sqlite3_shell(g.argc-1, g.argv+1);
149 g.db = 0;
150 }
151
152 /*
153 ** This routine is called by the patched sqlite3 command-line shell in order
154 ** to load the name and database connection for the open Fossil database.
155 */
156 void fossil_open(const char **pzRepoName){
157 sqlite3_auto_extension((void(*)(void))sqlcmd_autoinit);
158 *pzRepoName = g.zRepositoryName;
159 }
160
--- src/sqlcmd.c
+++ src/sqlcmd.c
@@ -103,29 +103,24 @@
103 sqlite3_result_error(context, "input is not zlib compressed", -1);
104 }
105 }
106
107 /*
108 ** This function adds any SQL functions that we might need during the
109 ** session.
 
110 */
111 void add_sql_func(
112 sqlite3 *db
 
 
113 ){
114 sqlite3_create_function(db, "content", 1, SQLITE_ANY, 0,
115 sqlcmd_content, 0, 0);
116 sqlite3_create_function(db, "compress", 1, SQLITE_ANY, 0,
117 sqlcmd_compress, 0, 0);
118 sqlite3_create_function(db, "decompress", 1, SQLITE_ANY, 0,
119 sqlcmd_decompress, 0, 0);
120 re_add_sql_func(db);
121 mnemonic_add_sql_func(db);
 
 
122 }
123
124
125 /*
126 ** COMMAND: sqlite3
@@ -146,14 +141,5 @@
141 db_close(1);
142 sqlite3_shutdown();
143 sqlite3_shell(g.argc-1, g.argv+1);
144 g.db = 0;
145 }
 
 
 
 
 
 
 
 
 
146
+1 -1
--- src/tkt.c
+++ src/tkt.c
@@ -1179,11 +1179,11 @@
11791179
}
11801180
if( g.argc==3 ){
11811181
usage("set|change|history TICKETUUID");
11821182
}
11831183
zTktUuid = db_text(0,
1184
- "SELECT tkt_uuid FROM ticket WHERE tkt_uuid GLOB '%s*'", g.argv[3]
1184
+ "SELECT tkt_uuid FROM ticket WHERE tkt_uuid GLOB (mnemonic_decode(%Q)||'*')", g.argv[3]
11851185
);
11861186
if( !zTktUuid ){
11871187
fossil_fatal("unknown ticket: '%s'!",g.argv[3]);
11881188
}
11891189
i=4;
11901190
--- src/tkt.c
+++ src/tkt.c
@@ -1179,11 +1179,11 @@
1179 }
1180 if( g.argc==3 ){
1181 usage("set|change|history TICKETUUID");
1182 }
1183 zTktUuid = db_text(0,
1184 "SELECT tkt_uuid FROM ticket WHERE tkt_uuid GLOB '%s*'", g.argv[3]
1185 );
1186 if( !zTktUuid ){
1187 fossil_fatal("unknown ticket: '%s'!",g.argv[3]);
1188 }
1189 i=4;
1190
--- src/tkt.c
+++ src/tkt.c
@@ -1179,11 +1179,11 @@
1179 }
1180 if( g.argc==3 ){
1181 usage("set|change|history TICKETUUID");
1182 }
1183 zTktUuid = db_text(0,
1184 "SELECT tkt_uuid FROM ticket WHERE tkt_uuid GLOB (mnemonic_decode(%Q)||'*')", g.argv[3]
1185 );
1186 if( !zTktUuid ){
1187 fossil_fatal("unknown ticket: '%s'!",g.argv[3]);
1188 }
1189 i=4;
1190

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button