fixed "may be uninitialized" on linux systems
authorpk910 <philipp@zoelle1.de>
Sun, 2 Oct 2011 11:20:24 +0000 (13:20 +0200)
committerpk910 <philipp@zoelle1.de>
Sun, 2 Oct 2011 12:09:05 +0000 (14:09 +0200)
.gitignore
database.defaults.sql
src/lib/ini.c
src/lib/ini.o [deleted file]
src/mysqlConn.c

index c95860b50818363df43632c1f9d7f4365030808c..c39a0384c9230eab065014089aebcd4aaaf69ae3 100644 (file)
@@ -5,6 +5,7 @@ src/.deps
 src/.dirstamp
 src/lib/.deps
 src/lib/.dirstamp
+src/lib/*.o
 src/*.o
 autom4te.cache
 aclocal.m4
index a4d0c335404b9c8c675231f0855d03a243cdf3d0..4413b5898edcf31dfdbabc4981bb3f809302b499 100644 (file)
@@ -547,7 +547,6 @@ INSERT INTO `language` (`id`, `lang`, `ident`, `text`) VALUES
 --
 
 INSERT INTO `bots` (`id`, `active`, `nick`, `server`, `port`, `pass`, `ssl`, `bind`, `ident`, `realname`, `automodes`, `botclass`, `textbot`, `defaulttrigger`, `max_channels`, `register_priority`) VALUES
-(4, 0, 'TestBot', '127.0.0.1', 6667, NULL, 0, NULL, 'testbot', 'TestBot2', 'ix', 1, 0, '+', 0, 0);
-
+(4, 1, 'TestBot', '127.0.0.1', 6667, "", 0, NULL, 'testbot', 'TestBot2', 'ix', 1, 0, '+', 0, 0);
 
 
index e0bd1af8281dd26a295120750df32586ab2138c2..b9e8f97ef99b11c624e5dd9d7a80b1c0f493e6bc 100644 (file)
@@ -124,7 +124,7 @@ void ReadString(char *SectionName,char *FieldName,char *FieldValue) {
 
 int loadINI(char *filename) {
     FILE *f;
-    int i, fpointer;
+    int i, fpointer = 0;
     char SectionName[SECTION_LEN], FieldName[FIELDNAME_LEN], FieldValue[FIELDVALUE_LEN], ch;
 
     f=fopen(filename,"rb");
@@ -150,10 +150,9 @@ int loadINI(char *filename) {
         removeSpace(SectionName);
         while(!feof(f)) {
             fread(&ch,sizeof(char),1,f);
-            if (ch == 0x0d)
+            if (ch == '\r' || ch == '\n')
                 break;
         }
-        fread(&ch,sizeof(char),1,f);
         if (SectionName[0] == '\0')
             continue; 
         while(!feof(f)) {
@@ -195,7 +194,6 @@ int loadINI(char *filename) {
                 }
             }
             removeSpace(FieldValue);
-            fread(&ch,sizeof(char),1,f);
             WriteString(SectionName,FieldName,FieldValue);
         }
     }
diff --git a/src/lib/ini.o b/src/lib/ini.o
deleted file mode 100644 (file)
index 60943f1..0000000
Binary files a/src/lib/ini.o and /dev/null differ
index 5965e6aafa6d171434bbc11bb3262279f7340a5c..7484059af85131488672869a05a6f1c057de967e 100644 (file)
@@ -82,6 +82,7 @@ void init_mysql(char *host, int port, char *user, char *pass, char *base) {
             version = atoi(row[0]);
         }
     }
+    printf("%d \n", version);
     if(!version) {
         //CREATE DATABASE
         FILE *f = fopen("database.sql", "r");
@@ -92,30 +93,31 @@ void init_mysql(char *host, int port, char *user, char *pass, char *base) {
             int query_buffer_pos = 0;
             while (fgets(line, sizeof(line), f)) {
                 query_buffer_pos += sprintf(query_buffer + query_buffer_pos, " %s", line);
-                if(line[(strlen(line) - 1)] == ';') {
-                    mysql_query(mysql_conn, query_buffer);
+                if(line[(strlen(line) - 2)] == ';') {
+                    if(mysql_query(mysql_conn, query_buffer))
+                        show_mysql_error();
                     query_buffer_pos = 0;
                 }
             }
             fclose(f);
         }
         f = fopen("database.defaults.sql", "r");
-        mysql_set_server_option(mysql_conn, MYSQL_OPTION_MULTI_STATEMENTS_ON);
         if (f) {
-            char line[2048];
-            char query_buffer[65536];
+            char line[4096];
+            char query_buffer[131072];
             int query_buffer_pos = 0;
             while (fgets(line, sizeof(line), f)) {
                 query_buffer_pos += sprintf(query_buffer + query_buffer_pos, " %s", line);
-                if(line[(strlen(line) - 1)] == ';') {
-                    mysql_query(mysql_conn, query_buffer);
+                if(line[(strlen(line) - 2)] == ';') {
+                    if(mysql_query(mysql_conn, query_buffer))
+                        show_mysql_error();
                     query_buffer_pos = 0;
                 }
             }
             fclose(f);
         }
         mysql_set_server_option(mysql_conn, MYSQL_OPTION_MULTI_STATEMENTS_OFF);
-        mysql_query(mysql_conn, "UPDATE `version` SET `database_version` = '" DATABASE_VERSION "'");
+        mysql_query(mysql_conn, "INSERT INTO `version` (`database_version`) VALUES ('" DATABASE_VERSION "')");
     }
     else if(version < atoi(DATABASE_VERSION)) {
         //UPDATE DATABASE
@@ -137,8 +139,13 @@ void init_mysql(char *host, int port, char *user, char *pass, char *base) {
                     use_querys = 1;
                 }
             }
+            if(query_buffer_pos) {
+                if(mysql_query(mysql_conn, query_buffer))
+                    show_mysql_error();
+            }
             fclose(f);
-        }
+        } else
+            perror("database.sql missing!");
         mysql_set_server_option(mysql_conn, MYSQL_OPTION_MULTI_STATEMENTS_OFF);
         mysql_query(mysql_conn, "UPDATE `version` SET `database_version` = '" DATABASE_VERSION "'");
     }