Hi all,
I'm attaching a perl script and regex list I'm using to rename client
calls, etc.
I was feeling lazy, and the best way to really be lazy that was to use a
perl script. I took drizzle.h, stripped it down to just the keywords I
need to convert to 'drizzle'. I made them simple regexes. The perl
script reads them, converts them to regexes, then applies those to the
file in question, prints out the contents to filename.new - so if you
convert drizzle.h you get drizzle.h.new, and you run diff to make sure
nothing was mangled! I little automation, not too aggressive.
The reason I attached it is in case you have a similar task in drizzle,
it may be of some use.
Included: perl script, and client_funcs.txt (stripped down drizzle.h)
--
Satyam Eva Jayate - Truth Alone Triumphs
Mundaka Upanishad
#!/usr/bin/perl
use Data::Dumper;
use Getopt::Long;
our $opt_file;
GetOptions(
'f|file=s' => \$opt_file,
);
open(CONV, '</home/patg/client_funcs.txt') or die "$! unable to open
client_funcs.txt";
my @funcs= <CONV>;
close(CONV);
for (@funcs) {chomp};
#print "funcs:\n";
#print Dumper [EMAIL PROTECTED];
my $code;
open(CODEFILE, "<$opt_file") or die "$! unable to open $opt_file\n";
undef $/;
$code= <CODEFILE>;
close(CODE);
#print $code;
for (@funcs) {
my $regex= $_;
my $replace= $regex;
$regex= qr/$regex/i;
$replace =~ s/mysql/drizzle/;
$replace =~ s/\\//g;
#print "replace $replace\n";
$code =~ s/$regex/$replace/g;
$replace =~ s/MYSQL/DRIZZLE/;
$code =~ s/$regex/$replace/g;
}
#print "$code";
my $newfile= $opt_file . '.new';
open(CODEFILE, ">$newfile");
print CODEFILE $code;
close(CODEFILE);
\(mysql\)
\(mysql,
MYSQL_FIELD
MYSQL_ROW
MYSQL_FIELD_OFFSET
MYSQL_COUNT_ERROR
MYSQL_ROWS
MYSQL_ROW_OFFSET
MYSQL_DATA
MYSQL_OPT_CONNECT_TIMEOUT
MYSQL_OPT_COMPRESS
MYSQL_OPT_NAMED_PIPE
MYSQL_INIT_COMMAND
MYSQL_READ_DEFAULT_FILE
MYSQL_READ_DEFAULT_GROUP
MYSQL_SET_CHARSET_DIR
MYSQL_SET_CHARSET_NAME
MYSQL_OPT_LOCAL_INFILE
MYSQL_OPT_PROTOCOL
MYSQL_SHARED_MEMORY_BASE_NAME
MYSQL_OPT_READ_TIMEOUT
MYSQL_OPT_WRITE_TIMEOUT
MYSQL_OPT_USE_RESULT
MYSQL_OPT_USE_REMOTE_CONNECTION
MYSQL_OPT_USE_EMBEDDED_CONNECTION
MYSQL_OPT_GUESS_CONNECTION
MYSQL_SET_CLIENT_IP
MYSQL_SECURE_AUTH
MYSQL_REPORT_DATA_TRUNCATION
MYSQL_OPT_RECONNECT
MYSQL_OPT_SSL_VERIFY_SERVER_CERT
st_mysql_options
MYSQL_STATUS_READY
MYSQL_STATUS_GET_RESULT
MYSQL_STATUS_USE_RESULT
MYSQL_PROTOCOL_DEFAULT
MYSQL_PROTOCOL_TCP
MYSQL_PROTOCOL_SOCKET
MYSQL_PROTOCOL_PIPE
MYSQL_PROTOCOL_MEMORY
st_mysql_methods
st_mysql_stmt
st_mysql
MYSQL_RES
MYSQL_PARAMETERS
mysql_server_init
mysql_server_end
mysql_library_init
mysql_library_end
mysql_get_parameters
mysql_thread_init
mysql_thread_end
mysql_num_rows
mysql_num_fields
mysql_eof
mysql_fetch_field_direct
mysql_fetch_fields
mysql_row_tell
mysql_field_tell
mysql_field_count
mysql_affected_rows
mysql_insert_id
mysql_errno
mysql_error
mysql_sqlstate
mysql_warning_count
mysql_info
mysql_thread_id
mysql_character_set_name
mysql_set_character_set
mysql_init
mysql_ssl_set
mysql_get_ssl_cipher
mysql_change_user
mysql_real_connect
mysql_select_db
mysql_query
mysql_send_query
mysql_real_query
mysql_store_result
mysql_use_result
mysql_get_character_set_info
mysql_set_local_infile_handler
mysql_set_local_infile_default
mysql_shutdown
mysql_dump_debug_info
mysql_refresh
mysql_kill
mysql_set_server_option
mysql_ping
mysql_stat
mysql_get_server_info
mysql_get_client_info
mysql_get_client_version
mysql_get_host_info
mysql_get_server_version
mysql_get_proto_info
mysql_list_dbs
mysql_list_tables
mysql_list_processes
mysql_options
mysql_free_result
mysql_data_seek
mysql_row_seek
mysql_field_seek
mysql_fetch_row
mysql_fetch_lengths
mysql_fetch_field
mysql_list_fields
mysql_escape_string
mysql_hex_string
mysql_real_escape_string
mysql_debug
mysql_thread_safe
mysql_embedded
mysql_read_query_result
MYSQL_METHODS
mysql_commit
mysql_rollback
mysql_autocommit
mysql_more_results
mysql_next_result
mysql_close
MYSQL_NO_DATA
MYSQL_DATA_TRUNCATED
mysql_reload
mysql_refresh
mysql_connect
mysql_create_db
mysql_drop_db
MYSQL &
MYSQL mysql
MYSQL
&mysql
\*mysql
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp