]> granicus.if.org Git - procps-ng/commitdiff
sysctl: fix coding style
authorSami Kerola <kerolasa@iki.fi>
Wed, 25 Jan 2012 08:18:38 +0000 (09:18 +0100)
committerSami Kerola <kerolasa@iki.fi>
Wed, 25 Jan 2012 08:18:38 +0000 (09:18 +0100)
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
sysctl.c

index 247039ec86e40ad379f5501233a4636259d5dabb..646d295babb8059a36713ec19ff027bc3c3ec7db 100644 (file)
--- a/sysctl.c
+++ b/sysctl.c
@@ -1,27 +1,23 @@
-
 /*
  * Sysctl 1.01 - A utility to read and manipulate the sysctl parameters
  *
- *
  * "Copyright 1999 George Staikos
- * This file may be used subject to the terms and conditions of the
- * GNU General Public License Version 2, or any later version
- * at your option, as published by the Free Software Foundation.
- * This program 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 General Public License for more details."
+ * This file may be used subject to the terms and conditions of the GNU
+ * General Public License Version 2, or any later version at your option, as
+ * published by the Free Software Foundation.  This program 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 General Public License for more details."
  *
  * Changelog:
  *            v1.01:
  *                   - added -p <preload> to preload values from a file
- *            Horms: 
+ *            Horms:
  *                   - added -q to be quiet when modifying values
  *
  * Changes by Albert Cahalan, 2002.
  */
 
-
 #include <dirent.h>
 #include <errno.h>
 #include <getopt.h>
@@ -41,7 +37,6 @@
 #include "proc/procps.h"
 #include "proc/version.h"
 
-
 /* Proof that C++ causes brain damage: */
 typedef int bool;
 static bool true  = 1;
@@ -50,7 +45,6 @@ static bool false = 0;
 /*
  *    Globals...
  */
-
 static const char PROC_PATH[] = "/proc/sys/";
 static const char DEFAULT_PRELOAD[] = "/etc/sysctl.conf";
 static bool NameOnly;
@@ -60,369 +54,389 @@ static bool IgnoreError;
 static bool Quiet;
 static char *pattern;
 
+/* Function prototypes. */
 static int pattern_match(const char *string, const char *pattern);
+static int DisplayAll(const char *restrict const path);
 
-static void slashdot(char *restrict p, char old, char new){
-  int warned = 1;
-  p = strpbrk(p,"/.");
-  if(!p) return;            /* nothing -- can't be, but oh well */
-  if(*p==new) return;       /* already in desired format */
-  while(p){
-    char c = *p;
-    if((*(p+1) == '/' || *(p+1) == '.') && warned) {
-      xwarnx(_("separators should not be repeated: %s"), p);
-      warned = 0;
-    }
-    if(c==old) *p=new;
-    if(c==new) *p=old;
-    p = strpbrk(p+1,"/.");
-  }
+static void slashdot(char *restrict p, char old, char new)
+{
+       int warned = 1;
+       p = strpbrk(p, "/.");
+       if (!p)
+               /* nothing -- can't be, but oh well */
+               return;
+       if (*p == new)
+               /* already in desired format */
+               return;
+       while (p) {
+               char c = *p;
+               if ((*(p + 1) == '/' || *(p + 1) == '.') && warned) {
+                       xwarnx(_("separators should not be repeated: %s"), p);
+                       warned = 0;
+               }
+               if (c == old)
+                       *p = new;
+               if (c == new)
+                       *p = old;
+               p = strpbrk(p + 1, "/.");
+       }
 }
 
-
-
 /*
- *     Display the usage format
- *
+ * Display the usage format
  */
 static void __attribute__ ((__noreturn__))
     Usage(FILE * out)
 {
-   fputs(USAGE_HEADER, out);
-   fprintf(out,
-        _(" %s [options] [variable[=value] ...]\n"), program_invocation_short_name);
-   fputs(USAGE_OPTIONS, out);
-   fputs(_("  -a, --all            display all variables\n"
-          "  -A                   alias of -a\n"
-          "  -X                   alias of -a\n"
-          "  -b, --binary         print value without new line\n"
-          "  -e, --ignore         ignore unknown variables errors\n"
-          "  -N, --names          print variable names without values\n"
-          "  -n, --values         print only values of a variables\n"
-          "  -p, --load[=<file>]  read values from file\n"
-          "  -f                   alias of -p\n"
-          "      --system         read values from all system directories\n"
-          "  -r, --pattern <expression>\n"
-          "                       select setting that match expression\n"
-          "  -q, --quiet          do not echo variable set\n"
-          "  -w, --write          enable writing a value to variable\n"
-          "  -o                   does nothing\n"
-          "  -x                   does nothing\n"
-          "  -d                   alias of -h\n"), out);
-   fputs(USAGE_SEPARATOR, out);
-   fputs(USAGE_HELP, out);
-   fputs(USAGE_VERSION, out);
-   fprintf(out, USAGE_MAN_TAIL("sysctl(8)"));
-
-   exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+       fputs(USAGE_HEADER, out);
+       fprintf(out,
+             _(" %s [options] [variable[=value] ...]\n"),
+               program_invocation_short_name);
+       fputs(USAGE_OPTIONS, out);
+       fputs(_("  -a, --all            display all variables\n"
+               "  -A                   alias of -a\n"
+               "  -X                   alias of -a\n"
+               "  -b, --binary         print value without new line\n"
+               "  -e, --ignore         ignore unknown variables errors\n"
+               "  -N, --names          print variable names without values\n"
+               "  -n, --values         print only values of a variables\n"
+               "  -p, --load[=<file>]  read values from file\n"
+               "  -f                   alias of -p\n"
+               "      --system         read values from all system directories\n"
+               "  -r, --pattern <expression>\n"
+               "                       select setting that match expression\n"
+               "  -q, --quiet          do not echo variable set\n"
+               "  -w, --write          enable writing a value to variable\n"
+               "  -o                   does nothing\n"
+               "  -x                   does nothing\n"
+               "  -d                   alias of -h\n"), out);
+       fputs(USAGE_SEPARATOR, out);
+       fputs(USAGE_HELP, out);
+       fputs(USAGE_VERSION, out);
+       fprintf(out, USAGE_MAN_TAIL("sysctl(8)"));
+
+       exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
 }
 
 /*
- *     Strip the leading and trailing spaces from a string
- *
+ * Strip the leading and trailing spaces from a string
  */
-static char *StripLeadingAndTrailingSpaces(char *oneline) {
-   char *t;
+static char *StripLeadingAndTrailingSpaces(char *oneline)
+{
+       char *t;
 
-   if (!oneline || !*oneline)
-      return oneline;
+       if (!oneline || !*oneline)
+               return oneline;
 
-   t = oneline;
-   t += strlen(oneline)-1;
+       t = oneline;
+       t += strlen(oneline) - 1;
 
-   while ((*t==' ' || *t=='\t' || *t=='\n' || *t=='\r') && t!=oneline)
-      *t-- = 0;
+       while ((*t == ' ' || *t == '\t' || *t == '\n' || *t == '\r') && t != oneline)
+               *t-- = 0;
 
-   t = oneline;
+       t = oneline;
 
-   while ((*t==' ' || *t=='\t') && *t!=0)
-      t++;
+       while ((*t == ' ' || *t == '\t') && *t != 0)
+               t++;
 
-   return t;
+       return t;
 }
 
-static int DisplayAll(const char *restrict const path);
-
 /*
- *     Read a sysctl setting 
- *
+ * Read a sysctl setting
  */
-static int ReadSetting(const char *restrict const name) {
-   int rc = 0;
-   char *restrict tmpname;
-   char *restrict outname;
-   char inbuf[1025];
-   FILE *restrict fp;
-   struct stat ts;
-
-   if (!name || !*name) {
-      xwarnx(_("\"%s\" is an unknown key"), name);
-      return -1;
-   }
-
-   /* used to display the output */
-   outname = xstrdup(name);
-   slashdot(outname,'/','.'); /* change / to . */
-
-   /* used to open the file */
-   tmpname = xmalloc(strlen(name)+strlen(PROC_PATH)+2);
-   strcpy(tmpname, PROC_PATH);
-   strcat(tmpname, name); 
-   slashdot(tmpname+strlen(PROC_PATH),'.','/'); /* change . to / */
-
-   /* used to display the output */
-   outname = xstrdup(name);
-   slashdot(outname,'/','.'); /* change / to . */
-
-   if (stat(tmpname, &ts) < 0) {
-      if (!IgnoreError) {
-         xwarn(_("cannot stat %s"), tmpname);
-         rc = -1;
-      }
-      goto out;
-   }
-   if ((ts.st_mode & S_IRUSR) == 0)
-      goto out;
-
-   if (S_ISDIR(ts.st_mode)) {
-      size_t len;
-      len = strlen(tmpname);
-      tmpname[len] = '/';
-      tmpname[len+1] = '\0';
-      rc = DisplayAll(tmpname);
-      goto out;
-   }
-
-   if (pattern && !pattern_match(outname, pattern)){
-      free(outname);
-      return 0;
-   }
-
-   fp = fopen(tmpname, "r");
-
-   if (!fp) {
-      switch(errno) {
-      case ENOENT:
-         if (!IgnoreError) {
-            xwarnx(_("\"%s\" is an unknown key"), outname);
-            rc = -1;
-         }
-         break;
-      case EACCES:
-         xwarnx(_("permission denied on key '%s'"), outname);
-         rc = -1;
-         break;
-      default:
-         xwarn(_("reading key \"%s\""), outname);
-         rc = -1;
-         break;
-      }
-   } else {
-      errno = 0;
-      if(fgets(inbuf, sizeof inbuf - 1, fp)) {
-         // this loop is required, see
-         // /sbin/sysctl -a | egrep -6 dev.cdrom.info
-         do {
-            if (NameOnly) {
-               fprintf(stdout, "%s\n", outname);
-            } else {
-               /* already has the \n in it */
-               if (PrintName) {
-                  fprintf(stdout, "%s = %s", outname, inbuf);
-               } else {
-                  if (!PrintNewline) {
-                    char *nlptr = strchr(inbuf,'\n');
-                    if(nlptr) *nlptr='\0';
-                  }
-                  fprintf(stdout, "%s", inbuf);
-               }
-            }
-         } while(fgets(inbuf, sizeof inbuf - 1, fp));
-      } else {
-         switch(errno) {
-         case EACCES:
-            xwarnx(_("permission denied on key '%s'"), outname);
-            rc = -1;
-            break;
-         case EISDIR:{
-            size_t len;
-            len = strlen(tmpname);
-            tmpname[len] = '/';
-            tmpname[len+1] = '\0';
-            fclose(fp);
-            rc = DisplayAll(tmpname);
-            goto out;
-         }
-         default:
-            xwarnx(_("reading key \"%s\""), outname);
-            rc = -1;
-         case 0:
-            break;
-         }
-      }
-      fclose(fp);
-   }
-out:
-   free(tmpname);
-   free(outname);
-   return rc;
-}
+static int ReadSetting(const char *restrict const name)
+{
+       int rc = 0;
+       char *restrict tmpname;
+       char *restrict outname;
+       char inbuf[1025];
+       FILE *restrict fp;
+       struct stat ts;
+
+       if (!name || !*name) {
+               xwarnx(_("\"%s\" is an unknown key"), name);
+               return -1;
+       }
 
+       /* used to display the output */
+       outname = xstrdup(name);
+       /* change / to . */
+       slashdot(outname, '/', '.');
+
+       /* used to open the file */
+       tmpname = xmalloc(strlen(name) + strlen(PROC_PATH) + 2);
+       strcpy(tmpname, PROC_PATH);
+       strcat(tmpname, name);
+       /* change . to / */
+       slashdot(tmpname + strlen(PROC_PATH), '.', '/');
+
+       /* used to display the output */
+       outname = xstrdup(name);
+       /* change / to . */
+       slashdot(outname, '/', '.');
+
+       if (stat(tmpname, &ts) < 0) {
+               if (!IgnoreError) {
+                       xwarn(_("cannot stat %s"), tmpname);
+                       rc = -1;
+               }
+               goto out;
+       }
+       if ((ts.st_mode & S_IRUSR) == 0)
+               goto out;
+
+       if (S_ISDIR(ts.st_mode)) {
+               size_t len;
+               len = strlen(tmpname);
+               tmpname[len] = '/';
+               tmpname[len + 1] = '\0';
+               rc = DisplayAll(tmpname);
+               goto out;
+       }
 
+       if (pattern && !pattern_match(outname, pattern)) {
+               free(outname);
+               return 0;
+       }
+
+       fp = fopen(tmpname, "r");
+
+       if (!fp) {
+               switch (errno) {
+               case ENOENT:
+                       if (!IgnoreError) {
+                               xwarnx(_("\"%s\" is an unknown key"), outname);
+                               rc = -1;
+                       }
+                       break;
+               case EACCES:
+                       xwarnx(_("permission denied on key '%s'"), outname);
+                       rc = -1;
+                       break;
+               default:
+                       xwarn(_("reading key \"%s\""), outname);
+                       rc = -1;
+                       break;
+               }
+       } else {
+               errno = 0;
+               if (fgets(inbuf, sizeof inbuf - 1, fp)) {
+                       /* this loop is required, see
+                        * /sbin/sysctl -a | egrep -6 dev.cdrom.info
+                        */
+                       do {
+                               if (NameOnly) {
+                                       fprintf(stdout, "%s\n", outname);
+                               } else {
+                                       /* already has the \n in it */
+                                       if (PrintName) {
+                                               fprintf(stdout, "%s = %s",
+                                                       outname, inbuf);
+                                       } else {
+                                               if (!PrintNewline) {
+                                                       char *nlptr =
+                                                           strchr(inbuf, '\n');
+                                                       if (nlptr)
+                                                               *nlptr = '\0';
+                                               }
+                                               fprintf(stdout, "%s", inbuf);
+                                       }
+                               }
+                       } while (fgets(inbuf, sizeof inbuf - 1, fp));
+               } else {
+                       switch (errno) {
+                       case EACCES:
+                               xwarnx(_("permission denied on key '%s'"),
+                                      outname);
+                               rc = -1;
+                               break;
+                       case EISDIR: {
+                                       size_t len;
+                                       len = strlen(tmpname);
+                                       tmpname[len] = '/';
+                                       tmpname[len + 1] = '\0';
+                                       fclose(fp);
+                                       rc = DisplayAll(tmpname);
+                                       goto out;
+                               }
+                       default:
+                               xwarnx(_("reading key \"%s\""), outname);
+                               rc = -1;
+                       case 0:
+                               break;
+                       }
+               }
+               fclose(fp);
+       }
+      out:
+       free(tmpname);
+       free(outname);
+       return rc;
+}
 
 /*
- *     Display all the sysctl settings 
- *
+ * Display all the sysctl settings
  */
-static int DisplayAll(const char *restrict const path) {
-   int rc = 0;
-   int rc2;
-   DIR *restrict dp;
-   struct dirent *restrict de;
-   struct stat ts;
-
-   dp = opendir(path);
-
-   if (!dp) {
-      xwarnx(_("unable to open directory \"%s\""), path);
-      rc = -1;
-   } else {
-      readdir(dp);  // skip .
-      readdir(dp);  // skip ..
-      while (( de = readdir(dp) )) {
-         char *restrict tmpdir;
-         tmpdir = (char *restrict)xmalloc(strlen(path)+strlen(de->d_name)+2);
-         sprintf(tmpdir, "%s%s", path, de->d_name);
-         rc2 = stat(tmpdir, &ts);
-         if (rc2 != 0) {
-            xwarn(_("cannot stat %s"), tmpdir);
-         } else {
-            if (S_ISDIR(ts.st_mode)) {
-               strcat(tmpdir, "/");
-               DisplayAll(tmpdir);
-            } else {
-               rc |= ReadSetting(tmpdir+strlen(PROC_PATH));
-            }
-         }
-         free(tmpdir);
-      }
-      closedir(dp);
-   }
-   return rc;
+static int DisplayAll(const char *restrict const path)
+{
+       int rc = 0;
+       int rc2;
+       DIR *restrict dp;
+       struct dirent *restrict de;
+       struct stat ts;
+
+       dp = opendir(path);
+
+       if (!dp) {
+               xwarnx(_("unable to open directory \"%s\""), path);
+               rc = -1;
+       } else {
+               readdir(dp);    /* skip .  */
+               readdir(dp);    /* skip .. */
+               while ((de = readdir(dp))) {
+                       char *restrict tmpdir;
+                       tmpdir =
+                           (char *restrict) xmalloc(strlen(path) +
+                                                    strlen(de->d_name) +
+                                                    2);
+                       sprintf(tmpdir, "%s%s", path, de->d_name);
+                       rc2 = stat(tmpdir, &ts);
+                       if (rc2 != 0) {
+                               xwarn(_("cannot stat %s"), tmpdir);
+                       } else {
+                               if (S_ISDIR(ts.st_mode)) {
+                                       strcat(tmpdir, "/");
+                                       DisplayAll(tmpdir);
+                               } else {
+                                       rc |=
+                                           ReadSetting(tmpdir +
+                                                       strlen(PROC_PATH));
+                               }
+                       }
+                       free(tmpdir);
+               }
+               closedir(dp);
+       }
+       return rc;
 }
 
-
 /*
- *     Write a sysctl setting 
- *
+ * Write a sysctl setting
  */
-static int WriteSetting(const char *setting) {
-   int rc = 0;
-   const char *name = setting;
-   const char *value;
-   const char *equals;
-   char *tmpname;
-   char *outname;
-   FILE *fp;
-   struct stat ts;
-
-   if (!name) {        /* probably don't want to display this err */
-      return 0;
-   } /* end if */
-
-   equals = strchr(setting, '=');
-   if (!equals) {
-      xwarnx(_("\"%s\" must be of the form name=value"), setting);
-      return -1;
-   }
-
-   value = equals + 1;      /* point to the value in name=value */   
-
-   if (!*name || !*value || name == equals) { 
-      xwarnx(_("malformed setting \"%s\""), setting);
-      return -2;
-   }
-
-   /* used to open the file */
-   tmpname = xmalloc(equals-name+1+strlen(PROC_PATH));
-   strcpy(tmpname, PROC_PATH);
-   strncat(tmpname, name, (int)(equals-name)); 
-   tmpname[equals-name+strlen(PROC_PATH)] = 0;
-   slashdot(tmpname+strlen(PROC_PATH),'.','/'); /* change . to / */
-
-   /* used to display the output */
-   outname = xmalloc(equals-name+1);
-   strncpy(outname, name, (int)(equals-name)); 
-   outname[equals-name] = 0;
-   slashdot(outname,'/','.'); /* change / to . */
-   if (stat(tmpname, &ts) < 0) {
-      if (!IgnoreError) {
-         xwarn(_("cannot stat %s"), tmpname);
-         rc = -1;
-      }
-      goto out;
-   }
-
-   if ((ts.st_mode & S_IWUSR) == 0) {
-      xwarn(_("setting key \"%s\""), outname);
-      goto out;
-   }
-
-   if (S_ISDIR(ts.st_mode)) {
-      xwarn(_("setting key \"%s\""), outname);
-      goto out;
-   }
-
-   fp = fopen(tmpname, "w");
-
-   if (!fp) {
-      switch(errno) {
-      case ENOENT:
-         if (!IgnoreError) {
-            xwarnx(_("\"%s\" is an unknown key"), outname);
-            rc = -1;
-         }
-         break;
-      case EACCES:
-         xwarnx(_("permission denied on key '%s'"), outname);
-         rc = -1;
-         break;
-      default:
-         xwarn(_("setting key \"%s\""), outname);
-         rc = -1;
-         break;
-      }
-   } else {
-      rc = fprintf(fp, "%s\n", value);
-      if (rc < 0) {
-         xwarn(_("setting key \"%s\""), outname);
-         fclose(fp);
-      } else {
-         rc=fclose(fp);
-         if (rc != 0) 
-            xwarn(_("setting key \"%s\""), outname);
-      }
-      if (rc==0 && !Quiet) {
-         if (NameOnly) {
-            fprintf(stdout, "%s\n", outname);
-         } else {
-            if (PrintName) {
-               fprintf(stdout, "%s = %s\n", outname, value);
-            } else {
-               if (PrintNewline)
-                  fprintf(stdout, "%s\n", value);
-               else
-                  fprintf(stdout, "%s", value);
-            }
-         }
-      }
-   }
-out:
-   free(tmpname);
-   free(outname);
-   return rc;
+static int WriteSetting(const char *setting)
+{
+       int rc = 0;
+       const char *name = setting;
+       const char *value;
+       const char *equals;
+       char *tmpname;
+       char *outname;
+       FILE *fp;
+       struct stat ts;
+
+       if (!name)
+               /* probably don't want to display this err */
+               return 0;
+
+       equals = strchr(setting, '=');
+
+       if (!equals) {
+               xwarnx(_("\"%s\" must be of the form name=value"),
+                      setting);
+               return -1;
+       }
+
+       /* point to the value in name=value */
+       value = equals + 1;
+
+       if (!*name || !*value || name == equals) {
+               xwarnx(_("malformed setting \"%s\""), setting);
+               return -2;
+       }
+
+       /* used to open the file */
+       tmpname = xmalloc(equals - name + 1 + strlen(PROC_PATH));
+       strcpy(tmpname, PROC_PATH);
+       strncat(tmpname, name, (int) (equals - name));
+       tmpname[equals - name + strlen(PROC_PATH)] = 0;
+       /* change . to / */
+       slashdot(tmpname + strlen(PROC_PATH), '.', '/');
+
+       /* used to display the output */
+       outname = xmalloc(equals - name + 1);
+       strncpy(outname, name, (int) (equals - name));
+       outname[equals - name] = 0;
+       /* change / to . */
+       slashdot(outname, '/', '.');
+
+       if (stat(tmpname, &ts) < 0) {
+               if (!IgnoreError) {
+                       xwarn(_("cannot stat %s"), tmpname);
+                       rc = -1;
+               }
+               goto out;
+       }
+
+       if ((ts.st_mode & S_IWUSR) == 0) {
+               xwarn(_("setting key \"%s\""), outname);
+               goto out;
+       }
+
+       if (S_ISDIR(ts.st_mode)) {
+               xwarn(_("setting key \"%s\""), outname);
+               goto out;
+       }
+
+       fp = fopen(tmpname, "w");
+
+       if (!fp) {
+               switch (errno) {
+               case ENOENT:
+                       if (!IgnoreError) {
+                               xwarnx(_("\"%s\" is an unknown key"), outname);
+                               rc = -1;
+                       }
+                       break;
+               case EACCES:
+                       xwarnx(_("permission denied on key '%s'"), outname);
+                       rc = -1;
+                       break;
+               default:
+                       xwarn(_("setting key \"%s\""), outname);
+                       rc = -1;
+                       break;
+               }
+       } else {
+               rc = fprintf(fp, "%s\n", value);
+               if (rc < 0) {
+                       xwarn(_("setting key \"%s\""), outname);
+                       fclose(fp);
+               } else {
+                       rc = fclose(fp);
+                       if (rc != 0)
+                               xwarn(_("setting key \"%s\""), outname);
+               }
+               if (rc == 0 && !Quiet) {
+                       if (NameOnly) {
+                               fprintf(stdout, "%s\n", outname);
+                       } else {
+                               if (PrintName) {
+                                       fprintf(stdout, "%s = %s\n",
+                                               outname, value);
+                               } else {
+                                       if (PrintNewline)
+                                               fprintf(stdout, "%s\n", value);
+                                       else
+                                               fprintf(stdout, "%s", value);
+                               }
+                       }
+               }
+       }
+      out:
+       free(tmpname);
+       free(outname);
+       return rc;
 }
 
 static int pattern_match(const char *string, const char *pattern)
@@ -430,282 +444,282 @@ static int pattern_match(const char *string, const char *pattern)
        int status;
        regex_t re;
 
-       if (regcomp(&re, pattern, REG_EXTENDED | REG_NOSUB) != 0) {
-               return (0);     /* Report error. */
-       }
+       if (regcomp(&re, pattern, REG_EXTENDED | REG_NOSUB) != 0)
+               return (0);
        status = regexec(&re, string, (size_t) 0, NULL, 0);
        regfree(&re);
-       if (status != 0) {
-               return (0);     /* Report error. */
-       }
+       if (status != 0)
+               return (0);
        return (1);
 }
 
 /*
- *     Preload the sysctl's from the conf file
- *           - we parse the file and then reform it (strip out whitespace)
- *
+ * Preload the sysctl's from the conf file.  We parse the file and then
+ * reform it (strip out whitespace).
  */
-static int Preload(const char *restrict const filename) {
-   char oneline[256];
-   char buffer[256];
-   FILE *fp;
-   char *t;
-   int n = 0;
-   int rc = 0;
-   char *name, *value;
-
-   fp = (filename[0]=='-' && !filename[1])
-      ? stdin
-      : fopen(filename, "r")
-   ;
-
-   if (!fp) {
-      xwarn(_("cannot open \"%s\""), filename);
-      return -1;
-   }
-
-   while (fgets(oneline, sizeof oneline, fp)) {
-      n++;
-      t = StripLeadingAndTrailingSpaces(oneline);
-
-      if (strlen(t) < 2)
-         continue;
-
-      if (*t == '#' || *t == ';')
-         continue;
-
-      name = strtok(t, "=");
-      if (!name || !*name) {
-         xwarnx(_("%s(%d): invalid syntax, continuing..."), filename, n);
-         continue;
-      }
-
-      StripLeadingAndTrailingSpaces(name);
-
-      if (pattern && !pattern_match(name, pattern)){
-         continue;
-      }
-
-      value = strtok(NULL, "\n\r");
-      if (!value || !*value) {
-         xwarnx(_("%s(%d): invalid syntax, continuing..."), filename, n);
-         continue;
-      }
-
-      while ((*value == ' ' || *value == '\t') && *value != 0)
-         value++;
-
-      // should NameOnly affect this?
-      sprintf(buffer, "%s=%s", name, value);
-      rc |= WriteSetting(buffer);
-   }
-
-   fclose(fp);
-   return rc;
+static int Preload(const char *restrict const filename)
+{
+       char oneline[256];
+       char buffer[256];
+       FILE *fp;
+       char *t;
+       int n = 0;
+       int rc = 0;
+       char *name, *value;
+
+       fp = (filename[0] == '-' && !filename[1])
+           ? stdin : fopen(filename, "r");
+
+       if (!fp) {
+               xwarn(_("cannot open \"%s\""), filename);
+               return -1;
+       }
+
+       while (fgets(oneline, sizeof oneline, fp)) {
+               n++;
+               t = StripLeadingAndTrailingSpaces(oneline);
+
+               if (strlen(t) < 2)
+                       continue;
+
+               if (*t == '#' || *t == ';')
+                       continue;
+
+               name = strtok(t, "=");
+               if (!name || !*name) {
+                       xwarnx(_("%s(%d): invalid syntax, continuing..."),
+                              filename, n);
+                       continue;
+               }
+
+               StripLeadingAndTrailingSpaces(name);
+
+               if (pattern && !pattern_match(name, pattern))
+                       continue;
+
+               value = strtok(NULL, "\n\r");
+               if (!value || !*value) {
+                       xwarnx(_("%s(%d): invalid syntax, continuing..."),
+                              filename, n);
+                       continue;
+               }
+
+               while ((*value == ' ' || *value == '\t') && *value != 0)
+                       value++;
+
+               /* should NameOnly affect this? */
+               sprintf(buffer, "%s=%s", name, value);
+               rc |= WriteSetting(buffer);
+       }
+
+       fclose(fp);
+       return rc;
 }
 
 struct pair {
-   char* name;
-   char* value;
+       char *name;
+       char *value;
 };
 
-static int sortpairs(const void* A, const void* B)
+static int sortpairs(const void *A, const void *B)
 {
-   const struct pair* a = *(struct pair* const*)A;
-   const struct pair* b = *(struct pair* const*)B;
-   return strcmp(a->name, b->name);
+       const struct pair *a = *(struct pair * const *) A;
+       const struct pair *b = *(struct pair * const *) B;
+       return strcmp(a->name, b->name);
 }
 
-static int PreloadSystem(void) {
-   unsigned di, i;
-   const char* dirs[] = {
-      "/run/sysctl.d",
-      "/etc/sysctl.d",
-      "/usr/local/lib/sysctl.d",
-      "/usr/lib/sysctl.d",
-      "/lib/sysctl.d",
-   };
-   struct pair** cfgs = NULL;
-   unsigned ncfgs = 0;
-   enum { nprealloc = 16 };
-
-   for (di=0; di < sizeof(dirs)/sizeof(dirs[0]); ++di) {
-      struct dirent* de;
-      DIR* dp = opendir(dirs[di]);
-      if (!dp)
-        continue;
-      while (( de = readdir(dp) )) {
-        if (!strcmp(de->d_name, ".") || !strcmp(de->d_name, "..")) {
-           continue;
-        }
-        if (strlen(de->d_name) < 6 || !strcmp(de->d_name+strlen(de->d_name)-6, ".conf"))
-           continue;
-        /* check if config already known */
-        for (i = 0; i < ncfgs; ++i) {
-           if (!strcmp(cfgs[i]->name, de->d_name))
-              break;
-        }
-        if (i < ncfgs) // already in
-           continue;
-
-        if (ncfgs % nprealloc == 0) {
-           cfgs = xrealloc(cfgs, sizeof(struct pair*)*(ncfgs+nprealloc));
-        }
-        cfgs[ncfgs] = xmalloc(sizeof(struct pair) + strlen(de->d_name)*2+2 + strlen(dirs[di])+1);
-        cfgs[ncfgs]->name = (char*)cfgs[ncfgs]+sizeof(struct pair);
-        strcpy(cfgs[ncfgs]->name, de->d_name);
-        cfgs[ncfgs]->value = (char*)cfgs[ncfgs]+sizeof(struct pair) + strlen(cfgs[ncfgs]->name)+1;
-        sprintf(cfgs[ncfgs]->value, "%s/%s", dirs[di], de->d_name);
-        ncfgs++;
-
-      }
-      closedir(dp);
-   }
-
-   qsort(cfgs, ncfgs, sizeof(struct cfg*), sortpairs);
-
-   for (i = 0; i < ncfgs; ++i) {
-      if (!Quiet)
-        printf(_("* Applying %s ...\n"), cfgs[i]->value);
-      Preload(cfgs[i]->value);
-   }
-
-   if (!Quiet)
-      printf(_("* Applying %s ...\n"), DEFAULT_PRELOAD);
-   return Preload(DEFAULT_PRELOAD);
-}
+static int PreloadSystem(void)
+{
+       unsigned di, i;
+       const char *dirs[] = {
+               "/run/sysctl.d",
+               "/etc/sysctl.d",
+               "/usr/local/lib/sysctl.d",
+               "/usr/lib/sysctl.d",
+               "/lib/sysctl.d",
+       };
+       struct pair **cfgs = NULL;
+       unsigned ncfgs = 0;
+       enum { nprealloc = 16 };
+
+       for (di = 0; di < sizeof(dirs) / sizeof(dirs[0]); ++di) {
+               struct dirent *de;
+               DIR *dp = opendir(dirs[di]);
+               if (!dp)
+                       continue;
+
+               while ((de = readdir(dp))) {
+                       if (!strcmp(de->d_name, ".")
+                           || !strcmp(de->d_name, ".."))
+                               continue;
+                       if (strlen(de->d_name) < 6
+                           || !strcmp(de->d_name + strlen(de->d_name) - 6, ".conf"))
+                               continue;
+                       /* check if config already known */
+                       for (i = 0; i < ncfgs; ++i) {
+                               if (!strcmp(cfgs[i]->name, de->d_name))
+                                       break;
+                       }
+                       if (i < ncfgs)
+                               /* already in */
+                               continue;
+
+                       if (ncfgs % nprealloc == 0)
+                               cfgs = xrealloc(cfgs, sizeof(struct pair *) * (ncfgs + nprealloc));
+                       cfgs[ncfgs] =
+                           xmalloc(sizeof(struct pair) + strlen(de->d_name) * 2 + 2 +
+                                   strlen(dirs[di]) + 1);
+                       cfgs[ncfgs]->name = (char *) cfgs[ncfgs] + sizeof(struct pair);
+                       strcpy(cfgs[ncfgs]->name, de->d_name);
+                       cfgs[ncfgs]->value =
+                           (char *) cfgs[ncfgs] + sizeof(struct pair) + strlen(cfgs[ncfgs]->name) +
+                           1;
+                       sprintf(cfgs[ncfgs]->value, "%s/%s", dirs[di], de->d_name);
+                       ncfgs++;
+
+               }
+               closedir(dp);
+       }
+
+       qsort(cfgs, ncfgs, sizeof(struct cfg *), sortpairs);
+
+       for (i = 0; i < ncfgs; ++i) {
+               if (!Quiet)
+                       printf(_("* Applying %s ...\n"), cfgs[i]->value);
+               Preload(cfgs[i]->value);
+       }
 
+       if (!Quiet)
+               printf(_("* Applying %s ...\n"), DEFAULT_PRELOAD);
+       return Preload(DEFAULT_PRELOAD);
+}
 
 /*
- *    Main... 
- *
+ * Main...
  */
 int main(int argc, char *argv[])
 {
-   bool SwitchesAllowed = true;
-   bool WriteMode = false;
-   bool DisplayAllOpt = false;
-   bool preloadfileOpt = false;
-   int ReturnCode = 0;
-   int c;
-   const char *preloadfile = DEFAULT_PRELOAD;
-
-    enum {
-       SYSTEM_OPTION = CHAR_MAX + 1
-    };
-    static const struct option longopts[] = {
-       {"all", no_argument, NULL, 'a'},
-       {"binary", no_argument, NULL, 'b'},
-       {"ignore", no_argument, NULL, 'e'},
-       {"names", no_argument, NULL, 'N'},
-       {"values", no_argument, NULL, 'n'},
-       {"load", optional_argument, NULL, 'p'},
-       {"quiet", no_argument, NULL, 'q'},
-       {"write", no_argument, NULL, 'w'},
-       {"system", no_argument, NULL, SYSTEM_OPTION},
-       {"pattern", required_argument, NULL, 'r'},
-       {"help", no_argument, NULL, 'h'},
-       {"version", no_argument, NULL, 'V'},
-       {NULL, 0, NULL, 0}
-    };
+       bool SwitchesAllowed = true;
+       bool WriteMode = false;
+       bool DisplayAllOpt = false;
+       bool preloadfileOpt = false;
+       int ReturnCode = 0;
+       int c;
+       const char *preloadfile = DEFAULT_PRELOAD;
+
+       enum {
+               SYSTEM_OPTION = CHAR_MAX + 1
+       };
+       static const struct option longopts[] = {
+               {"all", no_argument, NULL, 'a'},
+               {"binary", no_argument, NULL, 'b'},
+               {"ignore", no_argument, NULL, 'e'},
+               {"names", no_argument, NULL, 'N'},
+               {"values", no_argument, NULL, 'n'},
+               {"load", optional_argument, NULL, 'p'},
+               {"quiet", no_argument, NULL, 'q'},
+               {"write", no_argument, NULL, 'w'},
+               {"system", no_argument, NULL, SYSTEM_OPTION},
+               {"pattern", required_argument, NULL, 'r'},
+               {"help", no_argument, NULL, 'h'},
+               {"version", no_argument, NULL, 'V'},
+               {NULL, 0, NULL, 0}
+       };
 
        program_invocation_name = program_invocation_short_name;
-       setlocale (LC_ALL, "");
+       setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
 
-   PrintName = true;
-   PrintNewline = true;
-   IgnoreError = false;
-   Quiet = false;
-
-   if (argc < 2) {
-       Usage(stderr);
-   }
-
-   while ((c =
-           getopt_long(argc, argv, "bneNwfp::qoxaAXr:Vdh", longopts,
-                       NULL)) != -1)
-      switch (c) {
-      case 'b':
-         /* This is "binary" format, which means more for BSD. */
-         PrintNewline = false;
-         /* FALL THROUGH */
-      case 'n':
-           PrintName = false;
-        break;
-      case 'e':
-      /*
-       * For FreeBSD, -e means a "%s=%s\n" format. ("%s: %s\n" default)
-       * We (and NetBSD) use "%s = %s\n" always, and -e to ignore errors.
-       */
-           IgnoreError = true;
-        break;
-      case 'N':
-           NameOnly = true;
-        break;
-      case 'w':
-           SwitchesAllowed = false;
-           WriteMode = true;
-        break;
-      case 'f':        /* the NetBSD way */
-      case 'p':
-           preloadfileOpt = true;
-           if (optarg)
-              preloadfile = optarg;
-           break;
-      case 'q':
-           Quiet = true;
-        break;
-      case 'o':                /* BSD: binary values too, 1st 16 bytes in hex */
-      case 'x':                /* BSD: binary values too, whole thing in hex */
-           /* does nothing */ ;
-        break;
-      case 'a':         /* string and integer values (for Linux, all of them) */
-      case 'A':         /* same as -a -o */
-      case 'X':         /* same as -a -x */
-           DisplayAllOpt = true;
-           break;
-      case SYSTEM_OPTION:
-           IgnoreError = true;
-           return PreloadSystem();
-      case 'r':
-           pattern = xstrdup(optarg);
-           break;
-      case 'V':
-           printf(PROCPS_NG_VERSION);
-           exit(0);
-      case 'd':         /* BSD: print description ("vm.kvm_size: Size of KVM") */
-      case 'h':         /* BSD: human-readable (did FreeBSD 5 make -e default?) */
-      case '?':
-           Usage(stdout);
-      default:
-           Usage(stderr);
-      }
-    if (DisplayAllOpt)
-       return DisplayAll(PROC_PATH);
-    if (preloadfileOpt)
-       return Preload(preloadfile);
-   argc -= optind;
-   argv += optind;
-
-   if (argc < 1)
-      xerrx(EXIT_FAILURE, _("no variables specified\n"
-                          "Try `%s --help' for more information."),
-                          program_invocation_short_name);
-   if (NameOnly && Quiet)
-      xerrx(EXIT_FAILURE, _("options -N and -q cannot coexist\n"
-                          "Try `%s --help' for more information."),
-                          program_invocation_short_name);
-
-   if (WriteMode || index(*argv, '='))
-      ReturnCode = WriteSetting(*argv);
-   else
-      ReturnCode = ReadSetting(*argv);
-
-   return ReturnCode;
+       PrintName = true;
+       PrintNewline = true;
+       IgnoreError = false;
+       Quiet = false;
+
+       if (argc < 2)
+               Usage(stderr);
+
+       while ((c =
+               getopt_long(argc, argv, "bneNwfp::qoxaAXr:Vdh", longopts,
+                           NULL)) != -1)
+               switch (c) {
+               case 'b':
+                       /* This is "binary" format, which means more for BSD. */
+                       PrintNewline = false;
+                       /* FALL THROUGH */
+               case 'n':
+                       PrintName = false;
+                       break;
+               case 'e':
+                       /*
+                        * For FreeBSD, -e means a "%s=%s\n" format.
+                        * ("%s: %s\n" default). We (and NetBSD) use
+                        * "%s = %s\n" always, and -e to ignore errors.
+                        */
+                       IgnoreError = true;
+                       break;
+               case 'N':
+                       NameOnly = true;
+                       break;
+               case 'w':
+                       SwitchesAllowed = false;
+                       WriteMode = true;
+                       break;
+               case 'f':       /* the NetBSD way */
+               case 'p':
+                       preloadfileOpt = true;
+                       if (optarg)
+                               preloadfile = optarg;
+                       break;
+               case 'q':
+                       Quiet = true;
+                       break;
+               case 'o':       /* BSD: binary values too, 1st 16 bytes in hex */
+               case 'x':       /* BSD: binary values too, whole thing in hex */
+                       /* does nothing */ ;
+                       break;
+               case 'a':       /* string and integer values (for Linux, all of them) */
+               case 'A':       /* same as -a -o */
+               case 'X':       /* same as -a -x */
+                       DisplayAllOpt = true;
+                       break;
+               case SYSTEM_OPTION:
+                       IgnoreError = true;
+                       return PreloadSystem();
+               case 'r':
+                       pattern = xstrdup(optarg);
+                       break;
+               case 'V':
+                       printf(PROCPS_NG_VERSION);
+                       return EXIT_SUCCESS;
+               case 'd':       /* BSD: print description ("vm.kvm_size: Size of KVM") */
+               case 'h':       /* BSD: human-readable (did FreeBSD 5 make -e default?) */
+               case '?':
+                       Usage(stdout);
+               default:
+                       Usage(stderr);
+               }
+       if (DisplayAllOpt)
+               return DisplayAll(PROC_PATH);
+       if (preloadfileOpt)
+               return Preload(preloadfile);
+
+       argc -= optind;
+       argv += optind;
+
+       if (argc < 1)
+               xerrx(EXIT_FAILURE, _("no variables specified\n"
+                                     "Try `%s --help' for more information."),
+                     program_invocation_short_name);
+       if (NameOnly && Quiet)
+               xerrx(EXIT_FAILURE, _("options -N and -q cannot coexist\n"
+                                     "Try `%s --help' for more information."),
+                     program_invocation_short_name);
+
+       if (WriteMode || index(*argv, '='))
+               ReturnCode = WriteSetting(*argv);
+       else
+               ReturnCode = ReadSetting(*argv);
+
+       return ReturnCode;
 }
-
-