Changeset c40d11a for regex.c


Ignore:
Timestamp:
Jul 23, 2011, 7:22:12 PM (13 years ago)
Author:
David Benjamin <davidben@mit.edu>
Children:
c36f4d0
Parents:
83e023e
git-author:
David Benjamin <davidben@mit.edu> (07/23/11 19:05:47)
git-committer:
David Benjamin <davidben@mit.edu> (07/23/11 19:22:12)
Message:
Don't hardcode regerror buffer size

This lets us kill the silly LINE macro. regerror can be called first to
get the length, and then the data.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • regex.c

    rd427f08 rc40d11a  
    1111{
    1212  int ret;
    13   char buff1[LINE];
     13  size_t errbuf_size;
     14  char *errbuf;
    1415  const char *ptr;
    1516 
     
    2627  ret=regcomp(&(re->re), ptr, REG_EXTENDED|REG_ICASE);
    2728  if (ret) {
    28     regerror(ret, NULL, buff1, LINE);
    29     owl_function_makemsg("Error in regular expression: %s", buff1);
     29    errbuf_size = regerror(ret, NULL, NULL, 0);
     30    errbuf = g_new(char, errbuf_size);
     31    regerror(ret, NULL, errbuf, errbuf_size);
     32    owl_function_error("Error in regular expression: %s", errbuf);
     33    g_free(errbuf);
    3034    g_free(re->string);
    3135    re->string=NULL;
Note: See TracChangeset for help on using the changeset viewer.