Add CString utilities to kstd
This commit is contained in:
parent
0027a8adb7
commit
af8a3c379e
2 changed files with 56 additions and 0 deletions
35
src/kstd/CString.cc
Normal file
35
src/kstd/CString.cc
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
/* CString.cc
|
||||||
|
* vim: set tw=80:
|
||||||
|
* Eryn Wells <eryn@erynwells.me>
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* Implementation of some utilities for dealing with C strings.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "CString.hh"
|
||||||
|
#include "ASCII.hh"
|
||||||
|
|
||||||
|
namespace kstd {
|
||||||
|
namespace CString {
|
||||||
|
|
||||||
|
size_t
|
||||||
|
length(char *str)
|
||||||
|
{
|
||||||
|
char *end = str;
|
||||||
|
while (end++ != '\0') { }
|
||||||
|
return end - str;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
uppercase(char *str)
|
||||||
|
{
|
||||||
|
for (char *p = str; *p != '\0'; p++) {
|
||||||
|
if (Char::isLower(*p)) {
|
||||||
|
*p = Char::toUpper(*p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* namespace CString */
|
||||||
|
} /* namespace kernel */
|
21
src/kstd/CString.hh
Normal file
21
src/kstd/CString.hh
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
/* CString.hh
|
||||||
|
* vim: set tw=80:
|
||||||
|
* Eryn Wells <eryn@erynwells.me>
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* Utilities for dealing with C strings.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
namespace kstd {
|
||||||
|
namespace CString {
|
||||||
|
|
||||||
|
/** Find the length of a C string. */
|
||||||
|
size_t length(char *str);
|
||||||
|
|
||||||
|
/** Destructively convert an ASCII C String to uppercase. */
|
||||||
|
void uppercase(char *str);
|
||||||
|
|
||||||
|
} /* namespace CString */
|
||||||
|
} /* namespace kstd */
|
Loading…
Add table
Add a link
Reference in a new issue