[BACK]Return to apropos_db.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/Attic/apropos_db.c between version 1.32.2.2 and 1.32.2.7

version 1.32.2.2, 2013/10/05 20:30:05 version 1.32.2.7, 2014/08/11 00:31:13
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2011, 2014 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 15 
Line 15 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
 #ifdef HAVE_CONFIG_H  
 #include "config.h"  #include "config.h"
 #endif  
   
 #include <sys/param.h>  #include <sys/param.h>
   #include <sys/types.h>
   
 #include <assert.h>  #include <assert.h>
 #include <fcntl.h>  #include <fcntl.h>
Line 30 
Line 29 
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
   
 #if defined(__linux__)  #if defined(__APPLE__)
 # include <endian.h>  
 # include <db_185.h>  
 #elif defined(__APPLE__)  
 # include <libkern/OSByteOrder.h>  # include <libkern/OSByteOrder.h>
 # include <db.h>  #elif defined(__linux__)
   # include <endian.h>
   #elif defined(__sun)
   # include <sys/byteorder.h>
 #else  #else
 # include <sys/endian.h>  # include <sys/endian.h>
   #endif
   
   #if defined(__linux__) || defined(__sun)
   # include <db_185.h>
   #else
 # include <db.h>  # include <db.h>
 #endif  #endif
   
 #include "mandocdb.h"  #include "mandocdb.h"
 #include "apropos_db.h"  #include "apropos_db.h"
 #include "mandoc.h"  #include "mandoc.h"
   #include "mandoc_aux.h"
   
 #define RESFREE(_x) \  #define RESFREE(_x) \
         do { \          do { \
Line 254  norm_string(const char *val, const struct mchars *mc, 
Line 259  norm_string(const char *val, const struct mchars *mc, 
         const char       *seq, *cpp;          const char       *seq, *cpp;
         int               len, u, pos;          int               len, u, pos;
         enum mandoc_esc   esc;          enum mandoc_esc   esc;
         static const char res[] = { '\\', '\t',          static const char res[] = { '\\', '\t', ASCII_NBRSP,
                                 ASCII_NBRSP, ASCII_HYPH, '\0' };                          ASCII_HYPH, ASCII_BREAK, '\0' };
   
         /* Pre-allocate by the length of the input */          /* Pre-allocate by the length of the input */
   
Line 275  norm_string(const char *val, const struct mchars *mc, 
Line 280  norm_string(const char *val, const struct mchars *mc, 
                         val += (int)sz;                          val += (int)sz;
                 }                  }
   
                 if (ASCII_HYPH == *val) {                  switch (*val) {
                   case (ASCII_HYPH):
                         (*buf)[pos++] = '-';                          (*buf)[pos++] = '-';
                         val++;                          val++;
                         continue;                          continue;
                 } else if ('\t' == *val || ASCII_NBRSP == *val) {                  case ('\t'):
                           /* FALLTHROUGH */
                   case (ASCII_NBRSP):
                         (*buf)[pos++] = ' ';                          (*buf)[pos++] = ' ';
                         val++;                          val++;
                           /* FALLTHROUGH */
                   case (ASCII_BREAK):
                         continue;                          continue;
                 } else if ('\\' != *val)                  default:
                         break;                          break;
                   }
                   if ('\\' != *val)
                           break;
   
                 /* Read past the slash. */                  /* Read past the slash. */
   
Line 541  single_search(struct rectree *tree, const struct opts 
Line 554  single_search(struct rectree *tree, const struct opts 
                         if (strcasecmp(opts->arch, r.arch))                          if (strcasecmp(opts->arch, r.arch))
                                 continue;                                  continue;
   
                 tree->node = rs = mandoc_realloc                  tree->node = rs = mandoc_reallocarray(rs,
                         (rs, (tree->len + 1) * sizeof(struct res));                      tree->len + 1, sizeof(struct res));
   
                 memcpy(&rs[tree->len], &r, sizeof(struct res));                  memcpy(&rs[tree->len], &r, sizeof(struct res));
                 memset(&r, 0, sizeof(struct res));                  memset(&r, 0, sizeof(struct res));

Legend:
Removed from v.1.32.2.2  
changed lines
  Added in v.1.32.2.7

CVSweb