/[debian]/bti/trunk/config.c
ViewVC logotype

Diff of /bti/trunk/config.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2456 by gregoa, Fri Mar 18 11:16:05 2011 UTC revision 2457 by gregoa, Tue Mar 22 16:17:37 2011 UTC
# Line 327  void bti_parse_configfile(struct session Line 327  void bti_parse_configfile(struct session
327          char *line = NULL;          char *line = NULL;
328          char *key = NULL;          char *key = NULL;
329          char *value = NULL;          char *value = NULL;
330            char *hashmarker;
331          size_t len = 0;          size_t len = 0;
332          ssize_t n;          ssize_t n;
333          char *c;          char *c;
# Line 344  void bti_parse_configfile(struct session Line 345  void bti_parse_configfile(struct session
345                  if (line[n - 1] == '\n')                  if (line[n - 1] == '\n')
346                          line[n - 1] = '\0';                          line[n - 1] = '\0';
347    
348                  /* '#' is comment markers, like bash style */                  /*
349                  *strchrnul(line, '#') = '\0';                   * '#' is comment markers, like bash style but it is a valid
350                     * character in some fields, so only treat it as a comment
351                     * marker if it occurs at the beginning of the line, or after
352                     * whitespace
353                     */
354                    hashmarker = strchrnul(line, '#');
355                    if (line == hashmarker)
356                            line[0] = '\0';
357                    else {
358                            while (hashmarker[0] != '\0') {
359                                    --hashmarker;
360                                    if (isblank(hashmarker[0]))
361                                            hashmarker[0] = '\0';
362                                    else {
363                                            /*
364                                             * false positive; '#' occured
365                                             * within a string
366                                             */
367                                            hashmarker = strchrnul(hashmarker+2, '#');
368                                    }
369                            }
370                    }
371                  c = line;                  c = line;
372                  while (isspace(*c))                  while (isspace(*c))
373                          c++;                          c++;

Legend:
Removed from v.2456  
changed lines
  Added in v.2457

  ViewVC Help
Powered by ViewVC 1.1.26