Skip to content

Instantly share code, notes, and snippets.

@phrz
Created January 16, 2018 15:18
Show Gist options
  • Select an option

  • Save phrz/be90d3eaadf10cbc9f18b6be1b12b51c to your computer and use it in GitHub Desktop.

Select an option

Save phrz/be90d3eaadf10cbc9f18b6be1b12b51c to your computer and use it in GitHub Desktop.
Reverses a string in C while minding buffer sizes.
void reverse(char* string, char* buffer, size_t buffer_limit) {
if(buffer_limit < 1) {
return;
}
size_t len = strnlen(string, buffer_limit);
if(len == 0) {
buffer[0] = '\0';
return;
}
buffer[len] = '\0';
for(size_t i = 0; i < len; i++) {
buffer[len - i - 1] = string[i];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment