[BACK]Return to cfg.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/cfg.c between version 1.12 and 1.13

version 1.12, 2010/12/29 21:28:32 version 1.13, 2011/08/24 10:46:01
Line 92 
Line 92 
         retval = 0;          retval = 0;
         while ((buf = fgetln(f, &len))) {          while ((buf = fgetln(f, &len))) {
                 if (buf[len - 1] == '\n')                  if (buf[len - 1] == '\n')
                         buf[len - 1] = '\0';                          len--;
   
                   if (line != NULL)
                           line = xrealloc(line, 1, strlen(line) + len + 1);
                 else {                  else {
                         line = xrealloc(line, 1, len + 1);                          line = xmalloc(len + 1);
                         memcpy(line, buf, len);                          *line = '\0';
                         line[len] = '\0';  
                         buf = line;  
                 }                  }
   
                   /* Append buffer to line. strncat will terminate. */
                   strncat(line, buf, len);
                 n++;                  n++;
   
                   /* Continuation: get next line? */
                   len = strlen(line);
                   if (len > 0 && line[len - 1] == '\\') {
                           line[len - 1] = '\0';
                           continue;
                   }
                   buf = line;
                   line = NULL;
   
                 if (cmd_string_parse(buf, &cmdlist, &cause) != 0) {                  if (cmd_string_parse(buf, &cmdlist, &cause) != 0) {
                           xfree(buf);
                         if (cause == NULL)                          if (cause == NULL)
                                 continue;                                  continue;
                         cfg_add_cause(causes, "%s: %u: %s", path, n, cause);                          cfg_add_cause(causes, "%s: %u: %s", path, n, cause);
                         xfree(cause);                          xfree(cause);
                         continue;                          continue;
                 }                  } else
                           xfree(buf);
                 if (cmdlist == NULL)                  if (cmdlist == NULL)
                         continue;                          continue;
                 cfg_cause = NULL;                  cfg_cause = NULL;
Line 131 
Line 146 
                         retval = 1;                          retval = 1;
                 cmd_list_free(cmdlist);                  cmd_list_free(cmdlist);
                 if (cfg_cause != NULL) {                  if (cfg_cause != NULL) {
                         cfg_add_cause(causes, "%s: %d: %s", path, n, cfg_cause);                          cfg_add_cause(
                               causes, "%s: %d: %s", path, n, cfg_cause);
                         xfree(cfg_cause);                          xfree(cfg_cause);
                 }                  }
         }          }
         if (line != NULL)          if (line != NULL) {
                   cfg_add_cause(causes,
                       "%s: %d: line continuation at end of file", path, n);
                 xfree(line);                  xfree(line);
           }
         fclose(f);          fclose(f);
   
         return (retval);          return (retval);

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13