Starting conversion to C.
authorFrancois Fleuret <francois@fleuret.org>
Fri, 30 Oct 2009 18:53:02 +0000 (14:53 -0400)
committerFrancois Fleuret <francois@fleuret.org>
Fri, 30 Oct 2009 18:53:02 +0000 (14:53 -0400)
breezed.cc

index ae61293..473e409 100644 (file)
@@ -22,7 +22,6 @@
 
 */
 
 
 */
 
-#include <iostream>
 #include <fstream>
 #include <cmath>
 #include <stdio.h>
 #include <fstream>
 #include <cmath>
 #include <stdio.h>
@@ -88,7 +87,7 @@ char *next_word(char *buffer, char *r, int buffer_size) {
       while((*r != '\r') && (*r != '\n') && (*r != '\0') &&
             (*r != '\t') && (*r != ' ') && (*r != ',')) {
         if(s == buffer + buffer_size) {
       while((*r != '\r') && (*r != '\n') && (*r != '\0') &&
             (*r != '\t') && (*r != ' ') && (*r != ',')) {
         if(s == buffer + buffer_size) {
-          cerr << "Buffer overflow in next_word." << endl;
+          fprintf(stderr, "Buffer overflow in next_word.\n");
           exit(1);
         }
         *s++ = *r++;
           exit(1);
         }
         *s++ = *r++;
@@ -108,8 +107,8 @@ void set_fan_level(int fan_fd, int f, int max_fan_level) {
   if(f < 0 || f > max_fan_level) f = max_fan_level;
   sprintf(buffer, "level %d\n", f);
   if(write(fan_fd, buffer, strlen(buffer)) < 0) {
   if(f < 0 || f > max_fan_level) f = max_fan_level;
   sprintf(buffer, "level %d\n", f);
   if(write(fan_fd, buffer, strlen(buffer)) < 0) {
-    cerr << "Error in setting the fan level (" << strerror(errno) << ")."
-         << endl;
+    fprintf(stderr, "Error in setting the fan level (%s).\n",
+            strerror(errno));
     exit(1);
   }
 }
     exit(1);
   }
 }
@@ -118,7 +117,7 @@ void define_thermal_files(char *definition) {
   char token[buffer_size];
 
   if(file_thermal) {
   char token[buffer_size];
 
   if(file_thermal) {
-    cerr << "Thermal files already defined." << endl;
+    fprintf(stderr, "Thermal files already defined.\n");
     exit(1);
   }
 
     exit(1);
   }
 
@@ -144,7 +143,7 @@ void define_temperature_thresholds(char *definition) {
   char token[buffer_size];
 
   if(temperature_thresholds) {
   char token[buffer_size];
 
   if(temperature_thresholds) {
-    cerr << "Temperature thresholds already defined." << endl;
+    fprintf(stderr, "Temperature thresholds already defined.\n");
     exit(1);
   }
 
     exit(1);
   }
 
@@ -168,8 +167,7 @@ void define_temperature_thresholds(char *definition) {
     temperature_thresholds[k] = atoi(token);
     if(k > 0 &&
        temperature_thresholds[k] < temperature_thresholds[k-1]) {
     temperature_thresholds[k] = atoi(token);
     if(k > 0 &&
        temperature_thresholds[k] < temperature_thresholds[k-1]) {
-      cerr << "The temperature thresholds have to be increasing."
-           << endl;
+      fprintf(stderr, "The temperature thresholds have to be increasing.\n");
       exit(0);
     }
     k++;
       exit(0);
     }
     k++;
@@ -194,11 +192,8 @@ int main(int argc, char **argv) {
     }
 
     else if(strcmp(argv[i], "--version") == 0 || strcmp(argv[i], "-v") == 0) {
     }
 
     else if(strcmp(argv[i], "--version") == 0 || strcmp(argv[i], "-v") == 0) {
-      cout << "Breezed, "
-           << "v" << major_version_number
-           << "." << minor_version_number
-           << ". "
-           << "Written by Francois Fleuret (francois@fleuret.org).\n";
+      printf("Breezed v%d.%d. Written by Francois Fleuret (francois@fleuret.org).\n",
+             major_version_number, minor_version_number);
       exit(0);
     }
 
       exit(0);
     }
 
@@ -213,7 +208,7 @@ int main(int argc, char **argv) {
             strcmp(argv[i], "-cf") == 0) {
       i++;
       if(i == argc) {
             strcmp(argv[i], "-cf") == 0) {
       i++;
       if(i == argc) {
-        cerr << "Missing parameter for " << argv[i - 1] << endl;
+        fprintf(stderr, "Missing parameter for %s.\n", argv[i - 1]);
         exit(1);
       }
 
         exit(1);
       }
 
@@ -228,7 +223,7 @@ int main(int argc, char **argv) {
             strcmp(argv[i], "-tf") == 0) {
       i++;
       if(i == argc) {
             strcmp(argv[i], "-tf") == 0) {
       i++;
       if(i == argc) {
-        cerr << "Missing parameter for " << argv[i - 1] << endl;
+        fprintf(stderr, "Missing parameter for %s.\n", argv[i - 1]);
         exit(1);
       }
       define_thermal_files(argv[i]);
         exit(1);
       }
       define_thermal_files(argv[i]);
@@ -239,12 +234,12 @@ int main(int argc, char **argv) {
             strcmp(argv[i], "-ff") == 0) {
       i++;
       if(i == argc) {
             strcmp(argv[i], "-ff") == 0) {
       i++;
       if(i == argc) {
-        cerr << "Missing parameter for " << argv[i - 1] << endl;
+        fprintf(stderr, "Missing parameter for %s.\n", argv[i - 1]);
         exit(1);
       }
 
       if(file_fan) {
         exit(1);
       }
 
       if(file_fan) {
-        cerr << "Fan file already defined." << endl;
+        fprintf(stderr, "Fan file already defined.\n");
         exit(1);
       }
       file_fan = new char[strlen(argv[i]) + 1];
         exit(1);
       }
       file_fan = new char[strlen(argv[i]) + 1];
@@ -258,7 +253,7 @@ int main(int argc, char **argv) {
       i++;
 
       if(i == argc) {
       i++;
 
       if(i == argc) {
-        cerr << "Missing parameter for " << argv[i - 1] << endl;
+        fprintf(stderr, "Missing parameter for %s.\n", argv[i - 1]);
         exit(1);
       }
 
         exit(1);
       }
 
@@ -268,7 +263,7 @@ int main(int argc, char **argv) {
 
     else if(strcmp(argv[i], "--help") == 0 || strcmp(argv[i], "-h") == 0) {
 
 
     else if(strcmp(argv[i], "--help") == 0 || strcmp(argv[i], "-h") == 0) {
 
-      cout << argv[0] << " [--version|-v] [--help|-h] [--debug|-d]\\\n\
+      printf("%s [--version|-v] [--help|-h] [--debug|-d]\\\n\
   [--configuration-file|-cf <file>]\\\n\
   [--no-configuration-file|-ncf]\\\n\
   [--thermal-files|-tf <thermalfile1,thermalfile2,...>] \\\n\
   [--configuration-file|-cf <file>]\\\n\
   [--no-configuration-file|-ncf]\\\n\
   [--thermal-files|-tf <thermalfile1,thermalfile2,...>] \\\n\
@@ -302,16 +297,17 @@ This daemon should be started through the adequate shell script in\n\
 Options can be set either in the configuration file, or on the \n\
 command line. Options can not be set twice.\n\
 \n\
 Options can be set either in the configuration file, or on the \n\
 command line. Options can not be set twice.\n\
 \n\
-Version " << major_version_number << "."
-           << minor_version_number << ", December 2008.\n\
+Version %d.%d, November 2009.\n\
 \n\
 \n\
-Written by Francois Fleuret (francois@fleuret.org).\n";
+Written by Francois Fleuret (francois@fleuret.org).\n",
+             argv[0],
+             major_version_number, minor_version_number);
 
       exit(0);
     }
 
     else {
 
       exit(0);
     }
 
     else {
-      cerr << "Unknown argument " << argv[i] << "." << endl;
+      fprintf(stderr, "Unknown argument %s.\n", argv[i]);
       exit(1);
     }
   }
       exit(1);
     }
   }
@@ -323,7 +319,7 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
     ifstream cf(configuration_file);
 
     if(cf.fail()) {
     ifstream cf(configuration_file);
 
     if(cf.fail()) {
-      cerr << "Can not open " << configuration_file << " for reading." << endl;
+      fprintf(stderr, "Can not open %s for reading.\n", configuration_file);
       exit(1);
     }
 
       exit(1);
     }
 
@@ -339,8 +335,8 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
 
       if(strcmp(token, "thermal_files") == 0) {
         if(s == 0) {
 
       if(strcmp(token, "thermal_files") == 0) {
         if(s == 0) {
-          cerr << "Missing parameter in "
-               << configuration_file << ":" << line_number << endl;
+          fprintf(stderr, "Missing parameter in %s:%d\n",
+                  configuration_file, line_number);
           exit(1);
         }
         define_thermal_files(s);
           exit(1);
         }
         define_thermal_files(s);
@@ -352,12 +348,12 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
 
       else if(strcmp(token, "fan_file") == 0) {
         if(file_fan) {
 
       else if(strcmp(token, "fan_file") == 0) {
         if(file_fan) {
-          cerr << "Fan file already defined." << endl;
+          fprintf(stderr, "Fan file already defined.\n");
           exit(1);
         }
         if(s == 0) {
           exit(1);
         }
         if(s == 0) {
-          cerr << "Missing parameter in "
-               << configuration_file << ":" << line_number << endl;
+          fprintf(stderr, "Missing parameter in %s:%d\n",
+                  configuration_file, line_number);
           exit(1);
         }
         file_fan = new char[strlen(s) + 1];
           exit(1);
         }
         file_fan = new char[strlen(s) + 1];
@@ -366,16 +362,16 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
 
       else if(strcmp(token, "temperature_thresholds") == 0) {
         if(s == 0) {
 
       else if(strcmp(token, "temperature_thresholds") == 0) {
         if(s == 0) {
-          cerr << "Missing parameter in "
-               << configuration_file << ":" << line_number << endl;
+          fprintf(stderr, "Missing parameter in %s:%d\n",
+                  configuration_file, line_number);
           exit(1);
         }
         define_temperature_thresholds(s);
       }
 
       else if(token[0] && token[0] != '#') {
           exit(1);
         }
         define_temperature_thresholds(s);
       }
 
       else if(token[0] && token[0] != '#') {
-        cerr << "Unknown keyword '" << token << "' in "
-             << configuration_file << ":" << line_number << endl;
+        fprintf(stderr, "Unknown keyword '%s' in %s:%d.\n",
+                token, configuration_file, line_number);
         exit(1);
       }
     }
         exit(1);
       }
     }
@@ -384,26 +380,25 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
   //////////////////////////////////////////////////////////////////////
 
   if(nb_temperature_thresholds == 0) {
   //////////////////////////////////////////////////////////////////////
 
   if(nb_temperature_thresholds == 0) {
-    cerr << "No temperature threshold was provided." << endl;
+    fprintf(stderr, "No temperature threshold was provided.\n");
     exit(1);
   }
 
   if(nb_file_thermal == 0) {
     exit(1);
   }
 
   if(nb_file_thermal == 0) {
-    cerr << "No thermal file was provided." << endl;
+    fprintf(stderr, "No thermal file was provided.\n");
     exit(1);
   }
 
   if(file_fan == 0){
     exit(1);
   }
 
   if(file_fan == 0){
-    cerr << "No fan file was provided." << endl;
+    fprintf(stderr, "No fan file was provided.\n");
     exit(1);
   }
 
   for(int i = 0; i < nb_file_thermal; i++) {
     file_thermal_fd[i] = open(file_thermal[i], O_RDONLY);
     if(file_thermal_fd[i] < 0) {
     exit(1);
   }
 
   for(int i = 0; i < nb_file_thermal; i++) {
     file_thermal_fd[i] = open(file_thermal[i], O_RDONLY);
     if(file_thermal_fd[i] < 0) {
-      cerr << "Can not open " << file_thermal[i]
-           << " for reading (" << strerror(errno) << ")."
-           << endl;
+      fprintf(stderr, "Can not open %s for reading (%s).\n",
+              file_thermal[i], strerror(errno));
       exit(1);
     }
   }
       exit(1);
     }
   }
@@ -411,9 +406,8 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
   file_fan_fd = open(file_fan, O_WRONLY);
 
   if(file_fan_fd < 0) {
   file_fan_fd = open(file_fan, O_WRONLY);
 
   if(file_fan_fd < 0) {
-    cerr << "Can not open " << file_fan
-         << " for writing (" << strerror(errno) << ")."
-         << endl;
+    fprintf(stderr, "Can not open %s for writing (%s).\n",
+            file_fan, strerror(errno));
     exit(1);
   }
 
     exit(1);
   }
 
@@ -421,14 +415,14 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
 
   if(debug) {
     for(int t = 0; t < nb_file_thermal; t++) {
 
   if(debug) {
     for(int t = 0; t < nb_file_thermal; t++) {
-      cout << "file_thermal[" << t << "] " << file_thermal[t] << endl;
+      printf("file_thermal[%d] %s\n", t, file_thermal[t]);
     }
 
     }
 
-    cout << "file_fan " << file_fan << endl;
+    printf("file_fan %s\n", file_fan);
 
     for(int t = 0; t < nb_temperature_thresholds; t++) {
 
     for(int t = 0; t < nb_temperature_thresholds; t++) {
-      cout << "temperature_thresholds[" << t << "] "
-           << temperature_thresholds[t] << endl;
+      printf("temperature_thresholds[%d] %d",
+             t, temperature_thresholds[t]);
     }
   }
 
     }
   }
 
@@ -439,7 +433,7 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
     int temperature = -1;
 
     if(debug) {
     int temperature = -1;
 
     if(debug) {
-      cout << "Temperature:";
+      printf("Temperature:");
     }
 
     for(int i = 0; i < nb_file_thermal; i++) {
     }
 
     for(int i = 0; i < nb_file_thermal; i++) {
@@ -468,7 +462,7 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
 
             t *= sign;
             if(debug) {
 
             t *= sign;
             if(debug) {
-              cout << " " << t;
+              printf(" %d", t);
             }
 
             // So that we can deal with the new files where the
             }
 
             // So that we can deal with the new files where the
@@ -481,26 +475,26 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
 
         if(debug) {
           if(i < nb_file_thermal - 1)
 
         if(debug) {
           if(i < nb_file_thermal - 1)
-            cout << " /";
+            printf(" /");
           else
           else
-            cout << endl;
+            printf("\n");
         }
       } else {
         if(size == 0) {
         }
       } else {
         if(size == 0) {
-          cerr << "Nothing to read in " << file_thermal[i] << endl;
+          fprintf(stderr, "Nothing to read in %d.\n", file_thermal[i]);
         } else if(size < 0) {
         } else if(size < 0) {
-          cerr << "Error while reading " << file_thermal[i]
-               << " (" << strerror(errno) << ")." << endl;
+          fprintf(stderr, "Error while reading %s (%s).\n",
+                  file_thermal[i], strerror(errno));
         } else {
         } else {
-          cerr << "Error while reading " << file_thermal[i]
-               << " (too large)." << endl;
+          fprintf(stderr, "Error while reading %s (too large).\n",
+                  file_thermal[i]);
         }
         exit(1);
       }
     }
 
     if(temperature < 0) {
         }
         exit(1);
       }
     }
 
     if(temperature < 0) {
-      cerr << "Could not read a meaningful temperature." << endl;
+      fprintf(stderr, "Could not read a meaningful temperature.\n");
       exit(1);
     }
 
       exit(1);
     }
 
@@ -539,9 +533,8 @@ Written by Francois Fleuret (francois@fleuret.org).\n";
       nb_rounds_since_last_change = 0;
       last_level = new_level;
       if(debug) {
       nb_rounds_since_last_change = 0;
       last_level = new_level;
       if(debug) {
-        cout << "Temperature is " << temperature << "C,"
-             << " setting the fan level to " << new_level
-             << endl;
+        printf("Temperature is %dC setting the fan level to %d.",
+               temperature, new_level);
       }
     }
 
       }
     }