Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : seva                                 2:5020/434     17 Sep 2000  04:06:40
 To : All
 Subject : Re: regex.h в FreeBSD 3.4S
 -------------------------------------------------------------------------------- 
 
 rnd@rnd.donetsk.ua wrote:
 
 rrdu> From: Dmitry Rud <rnd@rnd.donetsk.ua>
 
 rrdu>         Hi!
 
 rrdu> Такая вот фигня творится:
 
 >>> ~$ uname -a
 rrdu> FreeBSD rnd.donetsk.ua 3.4-STABLE FreeBSD 3.4-STABLE #1: Sat May 20
 rrdu> 02:13:47 EEST 2000     root@rnd.donetsk.ua:/usr/src/sys/compile/RND  i386
 
 >>> ~$ gcc --version
 rrdu> 2.7.2.3
 
 >>> ~$ cat test.c 
 rrdu> #include <regex.h>
 rrdu> void main() {};
 
 >>> ~$ gcc test.c 
 rrdu> In file included from test.c:1:
 rrdu> /usr/include/regex.h:46: parse error before `regoff_t'
 rrdu> /usr/include/regex.h:46: warning: data definition has no type or storage
 rrdu> class /usr/include/regex.h:50: parse error before
 rrdu> `size_t' /usr/include/regex.h:50: warning: no semicolon at end of struct
 rrdu> or union /usr/include/regex.h:53: parse error before
 rrdu> `}' /usr/include/regex.h:53: warning: data definition has no type or
 rrdu> storage class /usr/include/regex.h:56: parse error before
 rrdu> `regoff_t' /usr/include/regex.h:56: warning: no semicolon at end of struct
 rrdu> or union /usr/include/regex.h:57: warning: data definition has no type or 
 rrdu> storage class /usr/include/regex.h:58: warning: data definition has no
 rrdu> type or storage class /usr/include/regex.h:99: parse error before
 rrdu> `*' /usr/include/regex.h:100: parse error before
 rrdu> `regerror' /usr/include/regex.h:100: parse error before
 rrdu> `*' /usr/include/regex.h:100: warning: data definition has no type or
 rrdu> storage class /usr/include/regex.h:101: parse error before
 rrdu> `*' /usr/include/regex.h:103: parse error before `*'
 
 >>> ~$ cat -n /usr/include/regex.h
 
 rrdu>   1  /*-
 rrdu>   2   * Copyright (c) 1992 Henry Spencer.
 rrdu>   3   * Copyright (c) 1992, 1993
 rrdu>   4   *  The Regents of the University of California.  All rights
 rrdu> reserved. 36  * 37   *  @(#)regex.h  8.2 (Berkeley) 1/3/94 38    */ 39  
 rrdu> 40  #ifndef _REGEX_H_ 41 #define _REGEX_H_ 42    43  #include
 rrdu> <sys/cdefs.h> 44  45 /* types */ 46  typedef off_t regoff_t; 47  
 rrdu> 48  typedef struct { 49     int re_magic; 50    size_t re_nsub;     /*
 rrdu> number of parenthesized subexpressions */ 51    __const char *re_endp;  /*
 rrdu> end pointer for REG_PEND */ 52   struct re_guts *re_g;  /* none of your
 rrdu> business :-) */ 53  } regex_t; 54    55  typedef struct { 56    regoff_t
 rrdu> rm_so;   /* start of match */ 57    regoff_t rm_eo;     /* end of match */
 rrdu>  58  } regmatch_t;
 rrdu>  59  
 rrdu>  60  /* regcomp() flags */
 rrdu>  61  #define REG_BASIC  0000
 rrdu>  62  #define REG_EXTENDED   0001
 rrdu>  63  #define REG_ICASE  0002
 rrdu>  64  #define REG_NOSUB  0004
 rrdu>  65  #define REG_NEWLINE 0010
 rrdu>  66  #define REG_NOSPEC  0020
 rrdu>  67  #define REG_PEND   0040
 rrdu>  68  #define REG_DUMP   0200
 rrdu>  69  
 rrdu>  70  /* regerror() flags */
 rrdu>  71  #define REG_NOMATCH  1
 rrdu>  72  #define REG_BADPAT   2
 rrdu>  73  #define REG_ECOLLATE    3
 rrdu>  74  #define REG_ECTYPE   4
 rrdu>  75  #define REG_EESCAPE  5
 rrdu>  76  #define REG_ESUBREG  6
 rrdu>  77  #define REG_EBRACK   7
 rrdu>  78  #define REG_EPAREN   8
 rrdu>  79  #define REG_EBRACE   9
 rrdu>  80  #define REG_BADBR  10
 rrdu>  81  #define REG_ERANGE  11
 rrdu>  82  #define REG_ESPACE  12
 rrdu>  83  #define REG_BADRPT  13
 rrdu>  84  #define REG_EMPTY  14
 rrdu>  85  #define REG_ASSERT  15
 rrdu>  86  #define REG_INVARG  16
 rrdu>  87  #define REG_ATOI   255  /* convert name to number (!) */
 rrdu>  88  #define REG_ITOA   0400 /* convert number to name (!) */
 rrdu>  89  
 rrdu>  90  /* regexec() flags */
 rrdu>  91  #define REG_NOTBOL  00001
 rrdu>  92  #define REG_NOTEOL  00002
 rrdu>  93  #define REG_STARTEND   00004
 rrdu>  94  #define REG_TRACE  00400   /* tracing of execution */
 rrdu>  95  #define REG_LARGE  01000   /* force large representation */
 rrdu>  96  #define REG_BACKR  02000   /* force use of backref code */
 rrdu>  97  
 rrdu>  98  __BEGIN_DECLS
 rrdu>  99  int regcomp __P((regex_t *, const char *, int));
 rrdu> 100  size_t  regerror __P((int, const regex_t *, char *, size_t));
 rrdu> 101  int regexec __P((const regex_t *,
 rrdu> 102         const char *, size_t, regmatch_t [], int));
 rrdu> 103  void   regfree __P((regex_t *));
 rrdu> 104  __END_DECLS
 rrdu> 105  
 rrdu> 106  #endif /* !_REGEX_H_ */
 
 >>> ===========
 
 rrdu> Hичего не понимаю. Файл /usr/include/regex.h, насколько я могу судить,
 rrdu> абсолютно нормальный и ничем не отличается от своего оригинала из
 rrdu> дерева исходников ОС. Куда копать?
 
 man regex прочитай и добавь, как там в самом начале написано,
 перед '#include <regex.h>' 
 '#include <sys/types.h>'
 
 Сева.
 rrdu> -- 
 rrdu>         rnd.
 
 --- ifmail v.2.14
  * Origin: Ели мясо мужики. (2:5020/434@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: regex.h в FreeBSD 3.4S   seva   17 Sep 2000 04:06:40 
Архивное /ru.unix.bsd/133841c0a4900.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional