Changeset 199 for trunk/src


Ignore:
Timestamp:
Nov 26, 2008, 11:46:43 PM (16 years ago)
Author:
katerina
Message:

While we're at it, implement 'else' cor the config file conditionals. Also fix some compile warnings and improve docs.

Location:
trunk/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/sh_hash.c

    r185 r199  
    11391139  char hashbuf[KEYBUF_SIZE];
    11401140
    1141   int  retval  = 0;
    1142   int  exitval = EXIT_SUCCESS;
     1141  volatile int  retval  = 0;
     1142  volatile int  exitval = EXIT_SUCCESS;
    11431143
    11441144  SL_ENTER(_("sh_hash_init"));
  • trunk/src/sh_log_check.c

    r186 r199  
    4848const char * save_dir = NULL;
    4949
     50static void * sh_dummy_path = NULL;
     51
    5052static char * build_path (struct sh_logfile * record)
    5153{
     
    5355  int    retval;
    5456  char * path = NULL;
     57
     58  sh_dummy_path = (void *)&path;
    5559
    5660  if (!save_dir)
  • trunk/src/sh_log_parse_pacct.c

    r186 r199  
    282282}
    283283
     284static void * sh_dummy_record = NULL;
     285
    284286struct sh_logrecord * sh_parse_pacct (sh_string * logline, void * fileinfo)
    285287{
     
    290292
    291293  (void) fileinfo;
     294
     295  sh_dummy_record = (void *) &record;
    292296
    293297  if (sh_string_len(logline) > 0 && flag_err_debug == SL_TRUE)
  • trunk/src/sh_log_parse_syslog.c

    r186 r199  
    6060
    6161  const unsigned int Tpos = 10;
    62   unsigned int tlen = 16;
     62  volatile unsigned int tlen = 16;
    6363
    6464  (void) fileinfo;
  • trunk/src/sh_port2proc.c

    r196 r199  
    155155# endif
    156156#endif
    157 
    158 struct sock_store {
    159   unsigned long sock;
    160   size_t        pid;
    161   char *        path;
    162   char *        user;
    163   struct sock_store * next;
    164 };
    165157
    166158#if defined(__linux__)
  • trunk/src/sh_readconf.c

    r197 r199  
    270270      char * p = str;
    271271      ++p; while (isspace((int)*p)) ++p;
    272       if (0 == strcmp (p, _("end")     ) ||
    273           0 == strncmp(p, _("end "),  4) || /* Comment to follow */
    274           0 == strcmp (p, _("endif")   ) ||
    275           0 == strncmp(p, _("endif "),6) ||
    276           0 == strcmp (p, _("fi")      ) ||
    277           0 == strncmp(p, _("fi "),   3)
    278           )
     272      if (
     273          (0 == strncmp (p, _("end"), 3) && (p[3] == '\0' || isspace((int)p[3]))) ||
     274          (0 == strncmp (p, _("fi"),  2) && (p[2] == '\0' || isspace((int)p[2])))
     275           )
     276        {
     277          return 1;
     278        }
     279    }
     280  return retval;
     281}
     282   
     283static int sh_readconf_is_else (char * str)
     284{
     285  int retval = 0;
     286
     287  if (str[0] == '@')
     288    {
     289      char * p = str;
     290      ++p; while (isspace((int)*p)) ++p;
     291      if ( 0 == strncmp (p, _("else"), 4) && (p[4] == '\0' || isspace((int)p[4])) )
    279292        {
    280293          return 1;
     
    509522            }
    510523          }
     524        else if (sh_readconf_is_else(line))
     525          {
     526            if (0 == cond_depth) {
     527              sh_error_handle ((-1), FIL__, __LINE__, 0, MSG_EINVALD,
     528                               _("config file"),
     529                               (long) conf_line);
     530            }
     531            else if (cond_excl == cond_depth) {
     532              cond_excl = 0;
     533            }
     534            else if (cond_excl == 0) {
     535              cond_excl = cond_depth;
     536            }
     537          }
    511538        else
    512539          {
  • trunk/src/sh_suidchk.c

    r170 r199  
    16881688
    16891689#ifdef FSTYPE_MNTENT            /* 4.3BSD etc.  */
    1690 static int xatoi (char *cp);
     1690static int xatoi (const char *cp);
    16911691#endif
    16921692
     
    19451945  while (type == NULL && (mnt = getmntent (mfp)) != NULL)
    19461946    {
    1947       char *devopt;
     1947      const char *devopt;
    19481948      dev_t dev;
    19491949      struct stat disk_stats;
     
    21472147static int
    21482148xatoi (cp)
    2149      char *cp;
     2149     const char *cp;
    21502150{
    21512151  int val;
  • trunk/src/sh_unix.c

    r197 r199  
    20482048  env[1] = sh_util_strdup(_("SHELL=/bin/sh"));
    20492049  env[2] = sh_util_strdup(_("IFS= \t\n"));
    2050   if (getenv("TZ")) {
    2051     char * tz = sh_util_strdup(getenv("TZ"));
    2052     if (SL_TRUE == sl_ok_adds (4, strlen(tz))) {
    2053         env[3] = SH_ALLOC(4+strlen(tz));
     2050  if (getenv("TZ")) {                         /* flawfinder: ignore */
     2051    char * tz = sh_util_strdup(getenv("TZ")); /* flawfinder: ignore */
     2052    size_t tzlen = strlen(tz);
     2053    if (SL_TRUE == sl_ok_adds (4, tzlen)) {
     2054        env[3] = SH_ALLOC(4+tzlen);
    20542055        sl_strlcpy(env[3], "TZ=", 4);
    2055         sl_strlcat(env[3], tz   , 4+strlen(tz));
     2056        sl_strlcat(env[3], tz   , 4+tzlen);
    20562057    } else {
    20572058      env[3] = NULL;
     
    20842085      while((r = waitpid(pid, &status, WCONTINUED|WUNTRACED)) != pid && r != -1) ;
    20852086
     2087#if !defined(USE_UNO)
    20862088      if (r == -1 || !WIFEXITED(status))
    20872089        {
     
    20922094          status = WEXITSTATUS(status);
    20932095        }
     2096#endif
    20942097     }
    20952098
Note: See TracChangeset for help on using the changeset viewer.