substr.cc

来自「a little DFA compiler.」· CC 代码 · 共 63 行

CC
63
字号
/* $Id: substr.cc 546 2006-05-25 13:40:14Z helly $ */#include <string.h>#include <stdlib.h>#include "substr.h"#include "globals.h"#ifndef HAVE_STRNDUPchar *strndup(const char *str, size_t len){	char * ret = (char*)malloc(len + 1);		memcpy(ret, str, len);	ret[len] = '\0';	return ret;}#endifnamespace re2c{void SubStr::out(std::ostream& o) const{	o.write(str, len);}bool operator==(const SubStr &s1, const SubStr &s2){	return (bool) (s1.len == s2.len && memcmp(s1.str, s2.str, s1.len) == 0);}Str::Str(const SubStr& s)	: SubStr(strndup(s.str, s.len), s.len){	;}Str::Str(Str& s)	: SubStr(s.str, s.len){	s.str = NULL;	s.len = 0;}Str::Str()	: SubStr((char*) NULL, 0){	;}Str::~Str(){	if (str) {		free((void*)str);	}	str = (char*) - 1;	len = (uint) - 1;}} // end namespace re2c

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?