Sha256: 66924d73311234504868c12c8fac376d44e0df5271528ff155841a9e4f4ebf51

Contents?: true

Size: 1.64 KB

Versions: 17

Compression:

Stored size: 1.64 KB

Contents

#include <stdlib.h>
#include "ext_scanners.h"

bufsize_t _ext_scan_at(bufsize_t (*scanner)(const unsigned char *), unsigned char *ptr, int len, bufsize_t offset)
{
	bufsize_t res;

        if (ptr == NULL || offset > len) {
          return 0;
        } else {
	  unsigned char lim = ptr[len];

	  ptr[len] = '\0';
	  res = scanner(ptr + offset);
	  ptr[len] = lim;
        }

	return res;
}

/*!re2c
  re2c:define:YYCTYPE  = "unsigned char";
  re2c:define:YYCURSOR = p;
  re2c:define:YYMARKER = marker;
  re2c:define:YYCTXMARKER = marker;
  re2c:yyfill:enable = 0;

  spacechar = [ \t\v\f];
  newline = [\r]?[\n];
  escaped_char = [\\][|!"#$%&'()*+,./:;<=>?@[\\\]^_`{}~-];

  table_marker = (spacechar*[:]?[-]+[:]?spacechar*);
  table_cell = (escaped_char|[^|\r\n])*;
*/

bufsize_t _scan_table_start(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;
/*!re2c
  [|]? table_marker ([|] table_marker)* [|]? spacechar* newline { return (bufsize_t)(p - start); }
  .? { return 0; }
*/
}

bufsize_t _scan_table_cell(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;
/*!re2c
  table_cell { return (bufsize_t)(p - start); }
  .? { return 0; }
*/
}

bufsize_t _scan_table_cell_end(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;
/*!re2c
  [|] spacechar* newline? { return (bufsize_t)(p - start); }
  .? { return 0; }
*/
}

bufsize_t _scan_table_row_end(const unsigned char *p)
{
  const unsigned char *marker = NULL;
  const unsigned char *start = p;
/*!re2c
  spacechar* newline { return (bufsize_t)(p - start); }
  .? { return 0; }
*/
}

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
commonmarker-0.17.7 ext/commonmarker/cmark-upstream/extensions/ext_scanners.re
commonmarker-0.17.6 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.17.5 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.17.4 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.17.2 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.17.1 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.17.0 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.8 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.7 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.6 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.5 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.4 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.1 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.2 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.3 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.16.0 ext/commonmarker/cmark/extensions/ext_scanners.re
commonmarker-0.15.0 ext/commonmarker/cmark/extensions/ext_scanners.re