mariadb/strings/strings.asm
unknown e2765a84b1 my_strtoll10-x86.s:
Corrected spelling in copyright text
Makefile.am:
  Don't update the files from BitKeeper
Many files:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header 
Many files:
  Added GPL copyright text
Removed files:
  Docs/Support/colspec-fix.pl
  Docs/Support/docbook-fixup.pl
  Docs/Support/docbook-prefix.pl
  Docs/Support/docbook-split
  Docs/Support/make-docbook
  Docs/Support/make-makefile
  Docs/Support/test-make-manual
  Docs/Support/test-make-manual-de
  Docs/Support/xwf


CMakeLists.txt:
  Added GPL copyright text
bdb/CMakeLists.txt:
  Added GPL copyright text
client/CMakeLists.txt:
  Added GPL copyright text
dbug/CMakeLists.txt:
  Added GPL copyright text
extra/CMakeLists.txt:
  Added GPL copyright text
extra/yassl/CMakeLists.txt:
  Added GPL copyright text
extra/yassl/taocrypt/CMakeLists.txt:
  Added GPL copyright text
heap/CMakeLists.txt:
  Added GPL copyright text
innobase/CMakeLists.txt:
  Added GPL copyright text
libmysql/CMakeLists.txt:
  Added GPL copyright text
myisam/CMakeLists.txt:
  Added GPL copyright text
myisammrg/CMakeLists.txt:
  Added GPL copyright text
mysys/CMakeLists.txt:
  Added GPL copyright text
regex/CMakeLists.txt:
  Added GPL copyright text
server-tools/CMakeLists.txt:
  Added GPL copyright text
server-tools/instance-manager/CMakeLists.txt:
  Added GPL copyright text
sql/CMakeLists.txt:
  Added GPL copyright text
sql/examples/CMakeLists.txt:
  Added GPL copyright text
strings/CMakeLists.txt:
  Added GPL copyright text
tests/CMakeLists.txt:
  Added GPL copyright text
vio/CMakeLists.txt:
  Added GPL copyright text
zlib/CMakeLists.txt:
  Added GPL copyright text
VC++Files/copy_mysql_files.bat:
  Added GPL copyright text
extra/yassl/src/make.bat:
  Added GPL copyright text
extra/yassl/taocrypt/benchmark/make.bat:
  Added GPL copyright text
extra/yassl/taocrypt/src/make.bat:
  Added GPL copyright text
extra/yassl/taocrypt/test/make.bat:
  Added GPL copyright text
extra/yassl/testsuite/make.bat:
  Added GPL copyright text
Docs/Support/generate-text-files.pl:
  Added GPL copyright text
VC++Files/prepare:
  Added GPL copyright text
VC++Files/test1/mysql_thr.c:
  Added GPL copyright text
VC++Files/thr_test/thr_test.c:
  Added GPL copyright text
include/help_end.h:
  Added GPL copyright text
include/help_start.h:
  Added GPL copyright text
mysql-test/install_test_db.sh:
  Added GPL copyright text
mysql-test/my_create_tables.c:
  Added GPL copyright text
mysql-test/ndb/ndbcluster.sh:
  Added GPL copyright text
scripts/fill_func_tables.sh:
  Added GPL copyright text
scripts/fill_help_tables.sh:
  Added GPL copyright text
scripts/mysql_create_system_tables.sh:
  Added GPL copyright text
scripts/mysql_install_db.sh:
  Added GPL copyright text
scripts/mysql_upgrade_shell.sh:
  Added GPL copyright text
server-tools/instance-manager/IMService.cpp:
  Added GPL copyright text
server-tools/instance-manager/IMService.h:
  Added GPL copyright text
server-tools/instance-manager/WindowsService.cpp:
  Added GPL copyright text
server-tools/instance-manager/WindowsService.h:
  Added GPL copyright text
server-tools/instance-manager/portability.h:
  Added GPL copyright text
strings/ctype-extra.c:
  Added GPL copyright text
strings/dump_map.c:
  Added GPL copyright text
strings/uca-dump.c:
  Added GPL copyright text
strings/utr11-dump.c:
  Added GPL copyright text
win/build-vs71.bat:
  Added GPL copyright text
win/build-vs8.bat:
  Added GPL copyright text
win/build-vs8_x64.bat:
  Added GPL copyright text
win/configure.js:
  Added GPL copyright text
mysql-test/lib/mtr_cases.pl:
  Added GPL copyright text
mysql-test/lib/mtr_diff.pl:
  Added GPL copyright text
mysql-test/lib/mtr_gcov.pl:
  Added GPL copyright text
mysql-test/lib/mtr_gprof.pl:
  Added GPL copyright text
mysql-test/lib/mtr_im.pl:
  Added GPL copyright text
mysql-test/lib/mtr_io.pl:
  Added GPL copyright text
mysql-test/lib/mtr_match.pl:
  Added GPL copyright text
mysql-test/lib/mtr_misc.pl:
  Added GPL copyright text
mysql-test/lib/mtr_process.pl:
  Added GPL copyright text
mysql-test/lib/mtr_report.pl:
  Added GPL copyright text
mysql-test/lib/mtr_stress.pl:
  Added GPL copyright text
mysql-test/lib/mtr_timer.pl:
  Added GPL copyright text
mysql-test/lib/mtr_unique.pl:
  Added GPL copyright text
strings/my_strtoll10-x86.s:
  Corrected spelling in copyright text
BUILD/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
Docs/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
SSL/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
bdb/Makefile.in:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
client/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
client/client_priv.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
client/completion_hash.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
client/mysqladmin.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
client/mysqlimport.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
client/mysqlshow.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
dbug/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
extra/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/_check.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/_rectest.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/heapdef.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_block.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_clear.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_close.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_create.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_delete.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_extra.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_hash.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_info.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_open.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_panic.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_rename.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_rfirst.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_rkey.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_rlast.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_rnext.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_rprev.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_rrnd.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_rsame.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_scan.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_static.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_test1.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_test2.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_update.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
heap/hp_write.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/my_aes.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/my_getopt.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/my_handler.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/my_time.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/mysql_time.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/rijndael.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/sha1.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
include/sql_common.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
libmysql/client_settings.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
libmysqld/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
libmysqld/emb_qcache.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
libmysqld/embedded_priv.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
man/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_boolean_search.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_eval.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_nlq_search.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_parser.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_static.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_stem.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_stopwords.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_test1.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_test1.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ft_update.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/ftdefs.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/fulltext.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_cache.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_changed.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_check.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_checksum.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_close.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_create.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_dbug.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_delete.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_delete_all.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_delete_table.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_dynrec.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_extra.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_info.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_key.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_locking.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_log.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_open.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_packrec.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_page.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_panic.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_preload.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_range.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rename.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rfirst.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rkey.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rlast.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rnext.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rnext_same.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rprev.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rrnd.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rsame.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_rsamepos.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_scan.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_search.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_static.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_statrec.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_test1.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_test2.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_test3.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_unique.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_update.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/mi_write.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/myisam_ftdump.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/myisamdef.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/myisamlog.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/myisampack.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/rt_index.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/rt_index.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/rt_key.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/rt_mbr.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/rt_mbr.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/rt_split.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/rt_test.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/sort.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/sp_defs.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisam/sp_test.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_close.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_create.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_def.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_delete.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_extra.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_info.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_locking.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_open.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_panic.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_queue.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_range.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_rfirst.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_rkey.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_rlast.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_rnext.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_rnext_same.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_rprev.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_rrnd.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_rsame.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_static.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_update.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
myisammrg/myrg_write.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysql-test/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/my_aes.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/my_gethostbyname.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/my_gethwaddr.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/my_getopt.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/my_getsystime.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/my_handler.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/my_port.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/my_semaphore.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/rijndael.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
mysys/sha1.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
os2/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
os2/ReadMe.txt:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
os2/include/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
os2/include/sys/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
pstack/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
regex/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
scripts/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
scripts/mysql_config.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/listener.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/listener.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/log.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/log.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/manager.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/manager.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/messages.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/messages.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/mysql_connection.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/mysql_connection.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/mysqlmanager.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/options.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/options.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/priv.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/priv.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/protocol.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/protocol.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/thread_registry.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/thread_registry.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/user_map.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
server-tools/instance-manager/user_map.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/as3ap.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/bench-count-distinct.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/bench-init.pl.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/compare-results.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/copy-db.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/crash-me.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/print-limit-table:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/run-all-tests.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/server-cfg.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-ATIS.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-alter-table.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-big-tables.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-connect.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-create.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-insert.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-select.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-transactions.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-bench/test-wisconsin.sh:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-common/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql-common/my_time.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/client_settings.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/custom_conf.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/derror.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/des_key_file.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/discover.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/field.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/field.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/filesort.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/frm_crypt.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/gen_lex_hash.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/gstream.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/ha_berkeley.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/ha_berkeley.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/ha_heap.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/ha_heap.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/ha_myisam.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/ha_myisam.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/ha_myisammrg.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/ha_myisammrg.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/handler.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/handler.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/hash_filo.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/hash_filo.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/hostname.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/init.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_buff.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_cmpfunc.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_create.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_func.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_geofunc.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_strfunc.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_sum.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_timefunc.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_uniq.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_uniq.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/key.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/lex_symbol.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/lock.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/log_event.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/matherr.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/mf_iocache.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/my_decimal.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/my_decimal.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/my_lock.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/opt_range.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/opt_range.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/password.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/procedure.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/procedure.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/protocol.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/records.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/repl_failsafe.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/repl_failsafe.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/set_var.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/spatial.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_acl.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_analyse.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_analyse.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_base.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_cache.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_class.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_class.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_client.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_crypt.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_crypt.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_cursor.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_cursor.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_do.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_insert.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_lex.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_lex.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_list.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_load.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_manager.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_manager.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_map.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_map.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_olap.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_rename.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_repl.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_repl.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_select.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_select.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_test.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_udf.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_update.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/structs.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/table.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/table.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/thr_malloc.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/time.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/unireg.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/unireg.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/bmove_upp-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/macros.asm:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/ptr_cmp.asm:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strappend-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strend-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strings.asm:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strinstr-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strmake-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strmov-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strnmov-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strstr-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strxmov-sparc.s:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
strings/strxmov.asm:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
support-files/MacOSX/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
support-files/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
tests/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
tests/deadlock_test.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
tools/mysqlmanager.c:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
vio/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
win/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
innobase/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
innobase/ibuf/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
innobase/include/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
innobase/os/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
ndb/include/Makefile.am:
  Added GPL copyright text
ndb/src/common/debugger/Makefile.am:
  Added GPL copyright text
ndb/src/common/debugger/signaldata/Makefile.am:
  Added GPL copyright text
ndb/src/common/logger/Makefile.am:
  Added GPL copyright text
ndb/src/common/mgmcommon/Makefile.am:
  Added GPL copyright text
ndb/src/common/transporter/Makefile.am:
  Added GPL copyright text
ndb/src/common/util/Makefile.am:
  Added GPL copyright text
ndb/src/cw/cpcd/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/backup/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/cmvmi/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/dbacc/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/dbdict/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/dbdih/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/dblqh/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/dbtc/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/dbtup/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/dbtux/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/dbutil/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/ndbcntr/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/ndbfs/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/qmgr/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/suma/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/blocks/trix/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/error/Makefile.am:
  Added GPL copyright text
ndb/src/kernel/vm/Makefile.am:
  Added GPL copyright text
ndb/src/mgmapi/Makefile.am:
  Added GPL copyright text
ndb/src/mgmclient/Makefile.am:
  Added GPL copyright text
ndb/src/mgmsrv/Makefile.am:
  Added GPL copyright text
ndb/src/ndbapi/Makefile.am:
  Added GPL copyright text
ndb/test/ndbapi/Makefile.am:
  Added GPL copyright text
ndb/test/ndbapi/bank/Makefile.am:
  Added GPL copyright text
ndb/test/run-test/Makefile.am:
  Added GPL copyright text
ndb/test/src/Makefile.am:
  Added GPL copyright text
ndb/test/tools/Makefile.am:
  Added GPL copyright text
ndb/tools/Makefile.am:
  Added GPL copyright text
scripts/make_binary_distribution.sh:
  Added GPL copyright text
scripts/make_sharedlib_distribution.sh:
  Added GPL copyright text
scripts/make_win_bin_dist:
  Added GPL copyright text
scripts/make_win_src_distribution.sh:
  Added GPL copyright text
scripts/mysql_convert_table_format.sh:
  Added GPL copyright text
scripts/mysql_explain_log.sh:
  Added GPL copyright text
scripts/mysql_find_rows.sh:
  Added GPL copyright text
scripts/mysql_fix_privilege_tables.sh:
  Added GPL copyright text
scripts/mysql_zap.sh:
  Added GPL copyright text
scripts/mysqlbug.sh:
  Added GPL copyright text
BitKeeper/deleted/.del-colspec-fix.pl:
  Delete: Docs/Support/colspec-fix.pl
BitKeeper/deleted/.del-docbook-fixup.pl:
  Delete: Docs/Support/docbook-fixup.pl
BitKeeper/deleted/.del-docbook-prefix.pl:
  Delete: Docs/Support/docbook-prefix.pl
BitKeeper/deleted/.del-docbook-split:
  Delete: Docs/Support/docbook-split
BitKeeper/deleted/.del-make-docbook:
  Delete: Docs/Support/make-docbook
BitKeeper/deleted/.del-make-makefile:
  Delete: Docs/Support/make-makefile
BitKeeper/deleted/.del-test-make-manual-de:
  Delete: Docs/Support/test-make-manual-de
BitKeeper/deleted/.del-test-make-manual:
  Delete: Docs/Support/test-make-manual
BitKeeper/deleted/.del-xwf:
  Delete: Docs/Support/xwf
Makefile.am:
  Don't update the files from BitKeeper
extra/yassl/Makefile.am:
  Don't update the files from BitKeeper
extra/yassl/taocrypt/Makefile.am:
  Don't update the files from BitKeeper
extra/yassl/taocrypt/benchmark/Makefile.am:
  Don't update the files from BitKeeper
extra/yassl/taocrypt/test/Makefile.am:
  Don't update the files from BitKeeper
innobase/btr/Makefile.am:
  Don't update the files from BitKeeper
innobase/buf/Makefile.am:
  Don't update the files from BitKeeper
innobase/data/Makefile.am:
  Don't update the files from BitKeeper
innobase/dict/Makefile.am:
  Don't update the files from BitKeeper
innobase/dyn/Makefile.am:
  Don't update the files from BitKeeper
innobase/eval/Makefile.am:
  Don't update the files from BitKeeper
innobase/fil/Makefile.am:
  Don't update the files from BitKeeper
innobase/fsp/Makefile.am:
  Don't update the files from BitKeeper
innobase/fut/Makefile.am:
  Don't update the files from BitKeeper
innobase/ha/Makefile.am:
  Don't update the files from BitKeeper
innobase/lock/Makefile.am:
  Don't update the files from BitKeeper
innobase/log/Makefile.am:
  Don't update the files from BitKeeper
innobase/mach/Makefile.am:
  Don't update the files from BitKeeper
innobase/mem/Makefile.am:
  Don't update the files from BitKeeper
innobase/mtr/Makefile.am:
  Don't update the files from BitKeeper
innobase/page/Makefile.am:
  Don't update the files from BitKeeper
innobase/pars/Makefile.am:
  Don't update the files from BitKeeper
innobase/que/Makefile.am:
  Don't update the files from BitKeeper
innobase/read/Makefile.am:
  Don't update the files from BitKeeper
innobase/rem/Makefile.am:
  Don't update the files from BitKeeper
innobase/row/Makefile.am:
  Don't update the files from BitKeeper
innobase/srv/Makefile.am:
  Don't update the files from BitKeeper
innobase/sync/Makefile.am:
  Don't update the files from BitKeeper
innobase/thr/Makefile.am:
  Don't update the files from BitKeeper
innobase/trx/Makefile.am:
  Don't update the files from BitKeeper
innobase/usr/Makefile.am:
  Don't update the files from BitKeeper
innobase/ut/Makefile.am:
  Don't update the files from BitKeeper
libmysql/Makefile.am:
  Don't update the files from BitKeeper
libmysql_r/Makefile.am:
  Don't update the files from BitKeeper
ndb/Makefile.am:
  Don't update the files from BitKeeper
ndb/docs/Makefile.am:
  Don't update the files from BitKeeper
ndb/src/Makefile.am:
  Don't update the files from BitKeeper
ndb/src/common/Makefile.am:
  Don't update the files from BitKeeper
ndb/src/common/portlib/Makefile.am:
  Don't update the files from BitKeeper
ndb/src/cw/Makefile.am:
  Don't update the files from BitKeeper
ndb/src/kernel/blocks/Makefile.am:
  Don't update the files from BitKeeper
ndb/test/Makefile.am:
  Don't update the files from BitKeeper
pstack/aout/Makefile.am:
  Don't update the files from BitKeeper
server-tools/Makefile.am:
  Don't update the files from BitKeeper
zlib/Makefile.am:
  Don't update the files from BitKeeper
ndb/config/common.mk.am:
  Added GPL copyright text
ndb/config/type_kernel.mk.am:
  Added GPL copyright text
ndb/config/type_mgmapiclient.mk.am:
  Added GPL copyright text
ndb/config/type_ndbapi.mk.am:
  Added GPL copyright text
ndb/config/type_ndbapiclient.mk.am:
  Added GPL copyright text
ndb/config/type_ndbapitest.mk.am:
  Added GPL copyright text
ndb/config/type_ndbapitools.mk.am:
  Added GPL copyright text
ndb/config/type_util.mk.am:
  Added GPL copyright text
ndb/include/kernel/kernel_config_parameters.h:
  Added GPL copyright text
ndb/include/kernel/signaldata/CntrStart.hpp:
  Added GPL copyright text
ndb/include/kernel/signaldata/ReadConfig.hpp:
  Added GPL copyright text
ndb/include/kernel/signaldata/UpgradeStartup.hpp:
  Added GPL copyright text
ndb/include/mgmapi/mgmapi_config_parameters.h:
  Added GPL copyright text
ndb/include/mgmapi/mgmapi_config_parameters_debug.h:
  Added GPL copyright text
ndb/include/ndb_net.h:
  Added GPL copyright text
ndb/include/util/ConfigValues.hpp:
  Added GPL copyright text
ndb/src/common/debugger/signaldata/CntrStart.cpp:
  Added GPL copyright text
ndb/src/common/debugger/signaldata/ReadNodesConf.cpp:
  Added GPL copyright text
ndb/src/common/debugger/signaldata/print.awk:
  Added GPL copyright text
ndb/src/common/util/Bitmask.cpp:
  Added GPL copyright text
ndb/src/common/util/ConfigValues.cpp:
  Added GPL copyright text
ndb/src/common/util/new.cpp:
  Added GPL copyright text
ndb/src/common/util/testConfigValues/testConfigValues.cpp:
  Added GPL copyright text
ndb/src/kernel/blocks/dbdict/Master_AddTable.sfl:
  Added GPL copyright text
ndb/src/kernel/blocks/dbdict/Slave_AddTable.sfl:
  Added GPL copyright text
ndb/src/mgmapi/mgmapi_configuration.cpp:
  Added GPL copyright text
2006-12-31 01:02:27 +01:00

1060 lines
19 KiB
NASM

; Copyright (C) 2000, 2003 MySQL AB
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Library General Public
; License as published by the Free Software Foundation; version 2
; of the License.
;
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Library General Public License for more details.
;
; You should have received a copy of the GNU Library General Public
; License along with this library; if not, write to the Free
; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
; MA 02111-1307, USA
; Note that if you don't have a macro assembler (like MASM) to compile
; this file, you can instead compile all *.c files in the string
; directory.
TITLE Stringfunctions that we use often at MSDOS / Intel 8086
ifndef M_I386
.8087
DOSSEG
.MODEL LARGE
.CODE
;
; Some macros
;
q_movs MACRO ; as rep movsb but quicker
shr cx,1
rep movsw ; Move 2 bytes at a time
adc cx,cx
rep movsb ; Move last byte if any
ENDM
q_stos MACRO ; as rep stosb but quicker
mov ah,al ; For word store
shr cx,1
rep stosw ; Move 2 bytes at a time
adc cx,cx
rep stosb ; Move last byte if any
ENDM
ifndef ZTC ; If not using ZORTECH compiler
;
; Compare memory
; Args: s1,s2,length
;
PUBLIC _bcmp
_bcmp PROC
mov bx,bp ; Save bp
mov dx,di ; Save di
mov bp,sp
push ds
push si
les di,DWORD PTR [bp+8] ; s2
lds si,DWORD PTR [bp+4] ; s1
mov cx,WORD PTR [bp+12] ; Length of memory-area
jcxz @F ; Length = 0, return same
; cld ; Work uppward
repe cmpsb ; Compare strings
jz @F ; Match found
inc cx ; return matchpoint +1
@@: mov ax,cx ; Return 0 if match, else pos from end
pop si
pop ds
mov di,dx
mov bp,bx
ret
_bcmp ENDP
;
; Find a char in a string
; Arg: str,char
; Ret: pointer to found char or NullS
;
ifdef better_stringfunctions ; Breaks window linkage (broken linking)
PUBLIC _strchr
_strchr PROC
mov bx,bp ; Save bp and di
mov dx,di
mov bp,sp
les di,DWORD PTR [bp+4] ; str
mov ah,BYTE PTR [bp+8] ; search
xor al,al ; for scasb to find end
@@: cmp ah,es:[di]
jz @F ; Found char
scasb
jnz @B ; Not end
xor di,di ; Not found
mov es,di
@@: mov ax,di
mov di,dx ; Restore
mov dx,es ; Seg adr
mov bp,bx ; Restore
ret
_strchr ENDP
;
; Find length of string
; arg: str
; ret: length
;
PUBLIC _strlen
_strlen PROC
mov bx,sp
mov dx,di
les di,DWORD PTR ss:[bx+4] ; Str
xor al,al ; Find end of string
mov cx,-1
; cld
repne scasb ; Find strend or length
inc cx ; Calc strlength
not cx
mov ax,cx
mov di,dx ; Restore register
ret
_strlen ENDP
endif
;
; Move a string
; arg: dst,src
; ret: end-null of to
;
PUBLIC _strmov
_strmov PROC
mov bx,bp
mov cx,si
mov bp,sp
push ds
push di
les di,DWORD PTR [bp+4] ; dst
lds si,DWORD PTR [bp+8] ; src
; cld
@@: mov al,ds:[si]
movsb ; move arg
and al,al
jnz @B ; Not last
lea ax,WORD PTR [di-1] ; Set DX:AX to point at last null
mov dx,es
pop di
pop ds
mov si,cx
mov bp,bx
ret
_strmov ENDP
;
; Fill a area of memory with a walue
; Args: to,length,fillchar
;
PUBLIC _bfill
_bfill PROC
mov bx,sp ; Get args through BX
mov al,BYTE PTR ss:[bx+10] ; Fill
bfill_10:
mov dx,di ; Save di
les di,DWORD PTR ss:[bx+4] ; Memory pointer
mov cx,WORD PTR ss:[bx+8] ; Length
; cld
q_stos
mov di,dx
ret
_bfill ENDP
;
; Fill a area with null
; Args: to,length
PUBLIC _bzero
_bzero PROC
mov bx,sp ; Get args through BX
mov al,0 ; Fill with null
jmp short bfill_10
_bzero ENDP
endif ; ZTC
;
; Move a memory area
; Args: to,from,length
;
PUBLIC _bmove
_bmove PROC
mov bx,bp
mov dx,di
mov ax,si
mov bp,sp
push ds
lds si,DWORD PTR [bp+8] ; from
les di,DWORD PTR [bp+4] ; to
mov cx,WORD PTR [bp+12] ; Length of memory-area
; cld ; Work uppward
rep movsb ; Not q_movs because overlap ?
pop ds
mov si,ax
mov di,dx
mov bp,bx
ret
_bmove ENDP
;
; Move a alligned, not overlapped, by (long) divided memory area
; Args: to,from,length
;
PUBLIC _bmove_align
_bmove_align PROC
mov bx,bp
mov dx,di
mov ax,si
mov bp,sp
push ds
lds si,DWORD PTR [bp+8] ; from
les di,DWORD PTR [bp+4] ; to
mov cx,WORD PTR [bp+12] ; Length of memory-area
; cld ; Work uppward
inc cx ; fix if not divisible with word
shr cx,1
rep movsw ; Move 2 bytes at a time
pop ds
mov si,ax
mov di,dx
mov bp,bx
ret
_bmove_align ENDP
;
; Move a string from higher to lower
; Arg from+1,to+1,length
;
PUBLIC _bmove_upp
_bmove_upp PROC
mov bx,bp
mov dx,di
mov ax,si
mov bp,sp
push ds
lds si,DWORD PTR [bp+8] ; from
les di,DWORD PTR [bp+4] ; to
mov cx,WORD PTR [bp+12] ; Length of memory-area
dec di ; Don't move last arg
dec si
std ; Work downward
rep movsb ; Not q_movs because overlap ?
cld ; C compilator want cld
pop ds
mov si,ax
mov di,dx
mov bp,bx
ret
_bmove_upp ENDP
;
; Append fillchars to string
; Args: dest,len,fill
;
PUBLIC _strappend
_strappend PROC
mov bx,bp
mov dx,di
mov bp,sp
les di,DWORD PTR [bp+4] ; Memory pointer
mov cx,WORD PTR [bp+8] ; Length
sub al,al ; Find end of string
; cld
repne scasb
jnz sa_99 ; String to long, shorten it
mov al,BYTE PTR [bp+10] ; Fillchar
dec di ; Point at end null
inc cx ; rep made one dec for null-char
q_stos ; Store al in string
sa_99: mov BYTE PTR es:[di],0 ; End of string
mov di,dx
mov bp,bx
ret
_strappend ENDP
;
; Find if string contains any char in another string
; Arg: str,set
; Ret: Pointer to first found char in str
;
PUBLIC _strcont
_strcont PROC
mov bx,bp ; Save bp and di in regs
mov dx,di
mov bp,sp
push ds
push si
lds si,DWORD PTR [bp+4] ; str
les di,DWORD PTR [bp+8] ; Set
mov cx,di ; Save for loop
xor ah,ah ; For endtest
jmp sc_60
sc_10: scasb
jz sc_fo ; Found char
sc_20: cmp ah,es:[di] ; Test if null
jnz sc_10 ; Not end of set yet
inc si ; Next char in str
mov di,cx ; es:di = Set
sc_60: mov al,ds:[si] ; Test if this char exist
and al,al
jnz sc_20 ; Not end of string
sub si,si ; Return Null
mov ds,si
sc_fo: mov ax,si ; Char found here
mov di,dx ; Restore
mov dx,ds ; Seg of found char
pop si
pop ds
mov bp,bx
ret
_strcont ENDP
;
; Found end of string
; Arg: str
; ret: Pointer to end null
;
PUBLIC _strend
_strend PROC
mov bx,sp
mov dx,di ; Save
les di,DWORD PTR ss:[bx+4] ; str
mov cx,-1
sub al,al ; Find end of string
; cld
repne scasb
lea ax,WORD PTR [di-1] ; Endpos i DX:AX
mov di,dx ; Restore
mov dx,es
ret
_strend ENDP
;
; Make a string with len fill-chars and endnull
; Args: dest,len,fill
; Ret: dest+len
;
PUBLIC _strfill
_strfill PROC
mov bx,bp ; Save sp
mov bp,sp
push di
les di,DWORD PTR [bp+4] ; Memory pointer
mov cx,WORD PTR [bp+8] ; Length
mov al,BYTE PTR [bp+10] ; Fill
; cld
q_stos
mov BYTE PTR es:[di],0 ; End NULL
mov ax,di ; End i DX:AX
mov dx,es
pop di
mov bp,bx
ret
_strfill ENDP
;
; Find a char in or end of a string
; Arg: str,char
; Ret: pointer to found char or NullS
;
PUBLIC _strcend
_strcend PROC
mov bx,bp ; Save bp and di
mov dx,di
mov bp,sp
les di,DWORD PTR [bp+4] ; str
mov ah,BYTE PTR [bp+8] ; search
xor al,al ; for scasb to find end
@@: cmp ah,es:[di]
jz @F ; Found char
scasb
jnz @B ; Not end
dec di ; Not found, point at end of string
@@: mov ax,di
mov di,dx ; Restore
mov dx,es ; Seg adr
mov bp,bx ; Restore
ret
_strcend ENDP
;
; Test if string has a given suffix
;
PUBLIC _is_prefix
_is_prefix PROC
mov dx,di ; Save di
mov bx,sp ; Arguments through bx
push ds
push si
les di,DWORD PTR ss:[bx+8] ; s2
lds si,DWORD PTR ss:[bx+4] ; s1
mov ax,1 ; Ok and zero-test
; cld ; Work uppward
@@: cmp ah,es:[di]
jz suf_ok ; End of string; found suffix
cmpsb ; Compare strings
jz @B ; Same, possible prefix
xor ax,ax ; Not suffix
suf_ok: pop si
pop ds
mov di,dx
ret
_is_prefix ENDP
;
; Find a substring in string
; Arg: str,search
;
PUBLIC _strstr
_strstr PROC
mov bx,bp
mov bp,sp
push ds
push di
push si
lds si,DWORD PTR [bp+4] ; str
les di,DWORD PTR [bp+8] ; search
mov cx,di
inc cx ; CX = search+1
mov ah,es:[di] ; AH = First char in search
jmp sf_10
sf_00: mov si,dx ; si = Current str-pos
sf_10: mov al,ds:[si] ; Test if this char exist
and al,al
jz sf_90 ; End of string, didn't find search
inc si
cmp al,ah
jnz sf_10 ; Didn't find first char, continue
mov dx,si ; Save str-pos in DX
mov di,cx
sf_20: cmp BYTE PTR es:[di],0
jz sf_fo ; Found substring
cmpsb
jz sf_20 ; Char ok
jmp sf_00 ; Next str-pos
sf_90: sub dx,dx ; Return Null
mov ds,dx
inc dx ; Because of following dec
sf_fo: mov ax,dx ; Char found here
dec ax ; Pointed one after
mov dx,ds
pop si
pop di ; End
pop ds
mov bp,bx
ret
_strstr ENDP
;
; Find a substring in string, return index
; Arg: str,search
;
PUBLIC _strinstr
_strinstr PROC
push bp
mov bp,sp
push di
les di,DWORD PTR [bp+10] ; search
push es
push di
les di,DWORD PTR [bp+6] ; str
push es
push di
call _strstr
mov cx,ax
or cx,dx
jz si_99
sub ax,di ; Pos from start
inc ax ; And first pos = 1
si_99: add sp,8
pop di
pop bp
ret
_strinstr ENDP
;
; Make a string of len length from another string
; Arg: dst,src,length
; ret: end of dst
;
PUBLIC _strmake
_strmake PROC
mov bx,bp
mov bp,sp
push ds
push di
push si
les di,DWORD PTR [bp+4] ; dst
lds si,DWORD PTR [bp+8] ; src
mov cx,WORD PTR [bp+12] ; Length of memory-area
xor al,al ; For test of end-null
jcxz sm_90 ; Nothing to move, put zero at end.
; cld ; Work uppward
@@: cmp al,ds:[si] ; Next char to move
movsb ; move arg
jz sm_99 ; last char, we are ready
loop @B ; Continue moving
sm_90: mov BYTE PTR es:[di],al ; Set end pos
inc di ; Fix that di points at end null
sm_99: dec di ; di points now at end null
mov ax,di ; Ret value in DX:AX
mov dx,es
pop si
pop di
pop ds
mov bp,bx
ret
_strmake ENDP
;
; Find length of string with maxlength
; arg: str,maxlength
; ret: length
;
PUBLIC _strnlen
_strnlen PROC
mov bx,bp
mov bp,sp
push di
les di,DWORD PTR [bp+4] ; Str
mov cx,WORD PTR [bp+8] ; length
mov dx,di ; Save str to calc length
jcxz sn_10 ; Length = 0
xor al,al ; Find end of string
; cld
repne scasb ; Find strend or length
jnz sn_10
dec di ; DI points at last null
sn_10: mov ax,di
sub ax,dx ; Ax = length
pop di
mov bp,bx
ret
_strnlen ENDP
;
; Move a string with max len chars
; arg: dst,src,len
; ret: pos to first null or dst+len
PUBLIC _strnmov
_strnmov PROC
mov bx,bp
mov bp,sp
push ds
push di
push si
les di,DWORD PTR [bp+4] ; dst
lds si,DWORD PTR [bp+8] ; src
mov cx,WORD PTR [bp+12] ; length
jcxz snm_99 ; Nothing to do
xor al,al ; For test of end-null
; cld
@@: cmp al,ds:[si] ; Next char to move
movsb ; move arg
jz snm_20 ; last char, fill with null
loop @B ; Continue moving
inc di ; Point two after last
snm_20: dec di ; Point at first null (or last+1)
snm_99: mov ax,di ; Pointer at last char
mov dx,es ; To-segment
pop si
pop di
pop ds
mov bp,bx ; Restore
ret
_strnmov ENDP
else ; M_I386
include macros.asm
q_stos MACRO ; as rep stosb but quicker, Uses edx
mov ah,al ;(2) Set up a 32 bit pattern.
mov edx,eax ;(2)
shl edx,16 ;(3)
or eax,edx ;(2) EAX has the 32 bit pattern.
mov edx,ecx ;(2) Save the count of bytes.
shr ecx,2 ;(2) Number of dwords.
rep stosd ;(5 + 5n)
mov cl,3 ;(2)
and ecx,edx ;(2) Fill in the remaining odd bytes.
rep stosb ; Move last bytes if any
ENDM
fix_es MACRO fix_cld ; Load ES if neaded
ife ESeqDS
mov ax,ds
mov es,ax
endif
ifnb <fix_cld>
cld
endif
ENDM
;
; Move a memory area
; Args: to,from,length
; Acts as one byte was moved a-time from dst to source.
;
begcode bmove
public _bmove
_bmove proc near
fix_es 1
mov edx,edi
mov eax,esi
mov edi,P-SIZEPTR[esp] ;p1
mov esi,P[esp] ;p2
mov ecx,P+SIZEPTR[esp]
rep movsb ; Not q_movs because overlap ?
mov esi,eax
mov edi,edx
ret
_bmove ENDP
endcode bmove
;
; Move a alligned, not overlapped, by (long) divided memory area
; Args: to,from,length
;
begcode bmove_align
public _bmove_align
_bmove_align proc near
fix_es 1
mov edx,edi
mov eax,esi
mov edi,P-SIZEPTR[esp] ;to
mov esi,P[esp] ;from
mov ecx,P+SIZEPTR[esp] ;length
add cx,3 ;fix if not divisible with long
shr cx,2
rep movsd
mov esi,eax
mov edi,edx
ret
_bmove_align ENDP
endcode bmove_align
;
; Move a string from higher to lower
; Arg from+1,to+1,length
;
begcode bmove_upp
public _bmove_upp
_bmove_upp proc near
fix_es
std ; Work downward
mov edx,edi
mov eax,esi
mov edi,P-SIZEPTR[esp] ;p1
mov esi,P[esp] ;p2
mov ecx,P+SIZEPTR[esp]
dec edi ; Don't move last arg
dec esi
rep movsb ; One byte a time because overlap !
cld ; C compilator wants cld
mov esi,eax
mov edi,edx
ret
_bmove_upp ENDP
endcode bmove_upp
;
; Append fillchars to string
; Args: dest,len,fill
;
begcode strappend
public _strappend
_strappend proc near
push ebp
mov ebp,esp
fix_es 1
push edi
mov edi,P[ebp] ; Memory pointer
mov ecx,P+SIZEPTR[ebp] ; Length
clr eax ; Find end of string
repne scasb
jnz sa_99 ; String to long, shorten it
movzx eax,byte ptr P+(2*SIZEPTR)[ebp] ; Fillchar
dec edi ; Point at end null
inc ecx ; rep made one dec for null-char
q_stos ; Store al in string
sa_99: mov BYTE PTR [edi],0 ; End of string
pop edi
pop ebp
ret
_strappend ENDP
endcode strappend
;
; Find if string contains any char in another string
; Arg: str,set
; Ret: Pointer to first found char in str
;
begcode strcont
PUBLIC _strcont
_strcont proc near
push ebp
mov ebp,esp
fix_es 1
mov edx,edi
push esi
mov esi,P[ebp] ; str
mov ecx,P+SIZEPTR[ebp] ; Set
clr ah ; For endtest
jmps sc_60
sc_10: scasb
jz sc_fo ; Found char
sc_20: cmp ah,[edi] ; Test if null
jnz sc_10 ; Not end of set yet
inc esi ; Next char in str
sc_60: mov edi,ecx ; edi = Set
mov al,[esi] ; Test if this char exist
and al,al
jnz sc_20 ; Not end of string
clr esi ; Return Null
sc_fo: mov eax,esi ; Char found here
mov edi,edx ; Restore
pop esi
pop ebp
ret
_strcont ENDP
endcode strcont
;
; Found end of string
; Arg: str
; ret: Pointer to end null
;
begcode strend
public _strend
_strend proc near
fix_es 1
mov edx,edi ; Save
mov edi,P-SIZEPTR[esp] ; str
clr eax ; Find end of string
mov ecx,eax
dec ecx ; ECX = -1
repne scasb
mov eax,edi
dec eax
mov edi,edx ; Restore
ret
_strend endp
endcode strend
;
; Make a string with len fill-chars and endnull
; Args: dest,len,fill
; Ret: dest+len
;
begcode strfill
public _strfill
_strfill proc near
push ebp
mov ebp,esp
fix_es 1
push edi
mov edi,P[ebp] ; Memory pointer
mov ecx,P+SIZEPTR[ebp] ; Length
movzx eax,byte ptr P+(2*SIZEPTR)[ebp] ; Fill
q_stos
mov BYTE PTR [edi],0 ; End NULL
mov eax,edi ; End i DX:AX
pop edi
pop ebp
ret
_strfill endp
endcode strfill
;
; Find a char in or end of a string
; Arg: str,char
; Ret: pointer to found char or NullS
;
begcode strcend
public _strcend
_strcend proc near
push ebp
mov ebp,esp
fix_es 1
mov edx,edi
mov edi,P[ebp] ; str
mov ah,P+SIZEPTR[ebp] ; search
clr al ; for scasb to find end
@@: cmp ah,[edi]
jz @F ; Found char
scasb
jnz @B ; Not end
dec edi ; Not found, point at end of string
@@: mov eax,edi
mov edi,edx ; Restore
pop ebp
ret
_strcend ENDP
endcode strcend
;
; Test if string has a given suffix
;
begcode is_prefix
public _is_prefix
_is_prefix proc near
fix_es 1
mov edx,edi ; Save edi
mov eax,esi ; Save esi
mov esi,P[esp] ; get suffix
mov edi,P-SIZEPTR[esp] ; s1
push eax ; push esi
mov eax,1 ; Ok and zero-test
@@: cmp ah,[esi]
jz suf_ok ; End of string; found suffix
cmpsb ; Compare strings
jz @B ; Same, possible prefix
xor eax,eax ; Not suffix
suf_ok: pop esi
mov edi,edx
ret
_is_prefix endp
endcode _is_prefix
;
; Find a substring in string
; Arg: str,search
;
begcode strstr
public _strstr
_strstr proc near
push ebp
mov ebp,esp
fix_es 1
push EDI
push ESI
mov esi,P[ebp] ; str
mov edi,P+SIZEPTR[ebp] ; search
mov ecx,edi
inc ecx ; ECX = search+1
mov ah,[edi] ; AH = First char in search
jmps sf_10
sf_00: mov esi,edx ; si = Current str-pos
sf_10: mov al,[esi] ; Test if this char exist
and al,al
jz sf_90 ; End of string, didn't find search
inc esi
cmp al,ah
jnz sf_10 ; Didn't find first char, continue
mov edx,esi ; Save str-pos in EDX
mov edi,ecx
sf_20: cmp BYTE PTR [edi],0
jz sf_fo ; Found substring
cmpsb
jz sf_20 ; Char ok
jmps sf_00 ; Next str-pos
sf_90: mov edx,1 ; Return Null
sf_fo: mov eax,edx ; Char found here
dec eax ; Pointed one after
pop ESI
pop EDI
pop ebp
ret
_strstr endp
endcode strstr
;
; Find a substring in string, return index
; Arg: str,search
;
begcode strinstr
public _strinstr
_strinstr proc near
push ebp
mov ebp,esp
push P+SIZEPTR[ebp] ; search
push P[ebp] ; str
call _strstr
add esp,SIZEPTR*2
or eax,eax
jz si_99 ; Not found, return NULL
sub eax,P[ebp] ; Pos from start
inc eax ; And first pos = 1
si_99: pop ebp
ret
_strinstr endp
endcode strinstr
;
; Make a string of len length from another string
; Arg: dst,src,length
; ret: end of dst
;
begcode strmake
public _strmake
_strmake proc near
push ebp
mov ebp,esp
fix_es 1
push EDI
push ESI
mov edi,P[ebp] ; dst
mov esi,P+SIZEPTR[ebp] ; src
mov ecx,P+SIZEPTR*2[ebp] ; Length of memory-area
clr al ; For test of end-null
jcxz sm_90 ; Nothing to move, put zero at end.
@@: cmp al,[esi] ; Next char to move
movsb ; move arg
jz sm_99 ; last char, we are ready
loop @B ; Continue moving
sm_90: mov BYTE PTR [edi],al ; Set end pos
inc edi ; Fix that di points at end null
sm_99: dec edi ; di points now at end null
mov eax,edi ; Ret value in DX:AX
pop ESI
pop EDI
pop ebp
ret
_strmake ENDP
endcode strmake
;
; Find length of string with maxlength
; arg: str,maxlength
; ret: length
;
begcode strnlen
public _strnlen
_strnlen proc near
push ebp
mov ebp,esp
fix_es 1
push edi
mov edi,P[ebp] ; Str
mov ecx,P+SIZEPTR[ebp] ; length
mov edx,edi ; Save str to calc length
jcxz sn_10 ; Length = 0
clr al ; Find end of string
repne scasb ; Find strend or length
jnz sn_10
dec edi ; DI points at last null
sn_10: mov eax,edi
sub eax,edx ; Ax = length
pop edi
pop ebp
ret
_strnlen ENDP
endcode strnlen
;
; Move a string with max len chars
; arg: dst,src,len
; ret: pos to first null or dst+len
begcode strnmov
public _strnmov
_strnmov PROC near
push ebp
mov ebp,esp
fix_es 1
push EDI
push ESI
mov edi,P[ebp] ; dst
mov esi,P+SIZEPTR[ebp] ; src
mov ecx,P+(SIZEPTR*2)[ebp] ; length
jcxz snm_99 ; Nothing to do
clr al ; For test of end-null
@@: cmp al,[esi] ; Next char to move
movsb ; move arg
jz snm_20 ; last char, fill with null
loop @B ; Continue moving
inc edi ; Point two after last
snm_20: dec edi ; Point at first null (or last+1)
snm_99: mov eax,edi ; Pointer at last char
pop ESI
pop EDI
pop ebp
ret
_strnmov ENDP
endcode strnmov
;
; Zortech has this one in standard library
;
begcode strmov
public _strmov
_strmov proc near
mov ecx,esi ; Save old esi and edi
mov edx,edi
mov esi,P[esp] ; get source pointer (s2)
mov edi,P-SIZEPTR[esp] ; EDI -> s1
fix_es 1
@@: mov al,[esi]
movsb ; move arg
and al,al
jnz @B ; Not last
mov eax,edi
dec eax
mov esi,ecx ; Restore args
mov edi,edx
ret
_strmov endp
endcode strmov
endif ; M_I386
END