Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/dbf2mysql.c b/dbf2mysql.c
- index 69f84b8..039df3d 100644
- --- a/dbf2mysql.c
- +++ b/dbf2mysql.c
- @@ -30,6 +30,7 @@ char *dbase = "test";
- char *table = "test";
- char *pass = NULL;
- char *user = NULL;
- +char *charset = "latin1";
- char *subarg = NULL;
- char *flist = NULL;
- @@ -82,7 +83,7 @@ void usage(void){
- printf("usage: dbf2mysql [-h hostname] [-d dbase] [-t table] [-p primary key]\n");
- printf(" [-o field[,field]] [-s oldname=newname[,oldname=newname]]\n");
- printf(" [-i field[,field]] [-c] [-f] [-F] [-n] [-r] [-u|-l] \n");
- - printf(" [-v[v]] [-x] [-q] [-P password] [-U user] dbf-file\n");
- + printf(" [-v[v]] [-x] [-q] [-P password] [-U user] [-C charset] dbf-file\n");
- }
- /* patch by Mindaugas Riauba <minde@pub.osf.lt> */
- @@ -602,7 +603,7 @@ int main(int argc, char **argv)
- primary[0] = '\0';
- - while ((i = getopt(argc, argv, "xqfFrne:lucvi:h:p:d:t:s:o:U:P:")) != EOF) {
- + while ((i = getopt(argc, argv, "xqfFrne:lucvi:h:p:d:t:s:o:U:P:C:")) != EOF) {
- switch (i) {
- case 'P':
- pass = (char *)strdup(optarg);
- @@ -610,6 +611,9 @@ int main(int argc, char **argv)
- case 'U':
- user = (char *)strdup(optarg);
- break;
- + case 'C':
- + charset = (char *)strdup(optarg);
- + break;
- case 'x':
- express=1;
- break;
- @@ -742,6 +746,14 @@ int main(int argc, char **argv)
- dbf_close(&dbh);
- exit(1);
- }
- + if (verbose > 2) {
- + printf("Setting charset to '%s'\n", charset);
- + }
- + sprintf(query, "SET NAMES %s", charset);
- + mysql_query(SQLsock, query);
- + free(query);
- +
- +
- /* Substitute field names */
- do_onlyfields(flist, dbh);
- do_substitute(subarg, dbh);
- diff --git a/mysql2dbf.c b/mysql2dbf.c
- index 58304ba..3e62d2f 100644
- --- a/mysql2dbf.c
- +++ b/mysql2dbf.c
- @@ -20,6 +20,7 @@ char *dbase = NULL;
- char *table = NULL;
- char *pass = NULL;
- char *user = NULL;
- +char *charset = "latin1";
- inline void strtoupper(char *string);
- inline void strtolower(char *string);
- @@ -41,7 +42,7 @@ inline void strtolower(char *string) {
- void usage(void) {
- printf("mysql2dbf %s\n", VERSION);
- - printf("usage:\tmysql2dbf [-h host] [-u | -l] [-v[v]]\n");
- + printf("usage:\tmysql2dbf [-h host] [-u | -l] [-v[v]] [-C charset]\n");
- printf("\t\t\t[-q query] [-P password] [-U user] -d dbase -t table dbf-file\n");
- }
- @@ -51,6 +52,7 @@ int main(int argc, char **argv) {
- extern int optind;
- extern char *optarg;
- char *query = NULL;
- + char *char_query = NULL;
- dbhead *dbh;
- field *rec;
- @@ -101,6 +103,9 @@ int main(int argc, char **argv) {
- case 'U':
- user = (char *)strdup(optarg);
- break;
- + case 'C':
- + charset = (char *)strdup(optarg);
- + break;
- case ':':
- usage();
- printf("Missing argument!\n");
- @@ -170,6 +175,13 @@ int main(int argc, char **argv) {
- exit(1);
- }
- + if (verbose > 2) {
- + printf("Setting charset to '%s'\n", charset);
- + }
- + sprintf(char_query, "SET NAMES %s", charset);
- + mysql_query(SQLsock, char_query);
- + free(char_query);
- +
- if (verbose > 1) {
- printf("Sending query\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement