* new StrHelper::strzcpy()
This commit is contained in:
@@ -7,3 +7,14 @@ void StrHelper::strncpy(char* dest, const char* src, size_t buf_sz) {
|
||||
}
|
||||
*dest = 0; // truncates if needed
|
||||
}
|
||||
|
||||
void StrHelper::strzcpy(char* dest, const char* src, size_t buf_sz) {
|
||||
while (buf_sz > 1 && *src) {
|
||||
*dest++ = *src++;
|
||||
buf_sz--;
|
||||
}
|
||||
while (buf_sz > 0) { // pad remaining with nulls
|
||||
*dest++ = 0;
|
||||
buf_sz--;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,4 +10,5 @@
|
||||
class StrHelper {
|
||||
public:
|
||||
static void strncpy(char* dest, const char* src, size_t buf_sz);
|
||||
static void strzcpy(char* dest, const char* src, size_t buf_sz); // pads with trailing nulls
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user