Skip to content

Instantly share code, notes, and snippets.

@laserson
Created April 18, 2014 00:53
Show Gist options
  • Select an option

  • Save laserson/11019469 to your computer and use it in GitHub Desktop.

Select an option

Save laserson/11019469 to your computer and use it in GitHub Desktop.
StringVal AddStringValImpl(FunctionContext* context, const StringVal& s1, const StringVal& s2) {
if (s1.is_null || s2.is_null) {
context.AddWarning("AddStringValImpl: Attempted to concat NULL string; returning NULL");
return StringVal::null();
}
if (s1.len == 0) return s2;
if (s2.len == 0) return s1;
StringVal retval(context, s1.len + s2.len);
memcpy(retval.ptr, s1.ptr, s1.len);
memcpy(retval.ptr + s1.len, s2.ptr, s2.len);
return retval;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment