summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/BaseLib/SafeString.c
diff options
context:
space:
mode:
authorJiewen Yao <jiewen.yao@intel.com>2016-05-22 21:01:37 +0800
committerJiewen Yao <jiewen.yao@intel.com>2016-05-24 20:08:59 +0800
commit328f84b1565165f35ea7755fb85b09fbf335c2cb (patch)
tree1e2f81388eb198efce9a1f6b48c2f9dd6ffb12f6 /MdePkg/Library/BaseLib/SafeString.c
parente6877b56b2e6d781fe0ce808318c779eb703657c (diff)
downloadedk2-328f84b1565165f35ea7755fb85b09fbf335c2cb.tar.gz
edk2-328f84b1565165f35ea7755fb85b09fbf335c2cb.tar.bz2
edk2-328f84b1565165f35ea7755fb85b09fbf335c2cb.zip
MdePkg/BaseLib: Add more comments for safe string functions.
Add more comments: 1) EDKII version safe string function is similar as the one C11. 2) If error is returned, the Destination is unmodified. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'MdePkg/Library/BaseLib/SafeString.c')
-rw-r--r--MdePkg/Library/BaseLib/SafeString.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/MdePkg/Library/BaseLib/SafeString.c b/MdePkg/Library/BaseLib/SafeString.c
index b0e1ce72e2..34d3efeafc 100644
--- a/MdePkg/Library/BaseLib/SafeString.c
+++ b/MdePkg/Library/BaseLib/SafeString.c
@@ -106,6 +106,8 @@ InternalSafeStringNoAsciiStrOverlap (
/**
Returns the length of a Null-terminated Unicode string.
+ This function is similar as strlen_s defined in C11.
+
If String is not aligned on a 16-bit boundary, then ASSERT().
@param String A pointer to a Null-terminated Unicode string.
@@ -151,10 +153,14 @@ StrnLenS (
Copies the string pointed to by Source (including the terminating null char)
to the array pointed to by Destination.
+ This function is similar as strcpy_s defined in C11.
+
If Destination is not aligned on a 16-bit boundary, then ASSERT().
If Source is not aligned on a 16-bit boundary, then ASSERT().
If an error would be returned, then the function will also ASSERT().
+ If an error is returned, then the Destination is unmodified.
+
@param Destination A pointer to a Null-terminated Unicode string.
@param DestMax The maximum number of Destination Unicode
char, including terminating null char.
@@ -229,10 +235,14 @@ StrCpyS (
Source to the array pointed to by Destination. If no null char is copied from
Source, then Destination[Length] is always set to null.
+ This function is similar as strncpy_s defined in C11.
+
If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
If an error would be returned, then the function will also ASSERT().
+ If an error is returned, then the Destination is unmodified.
+
@param Destination A pointer to a Null-terminated Unicode string.
@param DestMax The maximum number of Destination Unicode
char, including terminating null char.
@@ -318,10 +328,14 @@ StrnCpyS (
Appends a copy of the string pointed to by Source (including the terminating
null char) to the end of the string pointed to by Destination.
+ This function is similar as strcat_s defined in C11.
+
If Destination is not aligned on a 16-bit boundary, then ASSERT().
If Source is not aligned on a 16-bit boundary, then ASSERT().
If an error would be returned, then the function will also ASSERT().
+ If an error is returned, then the Destination is unmodified.
+
@param Destination A pointer to a Null-terminated Unicode string.
@param DestMax The maximum number of Destination Unicode
char, including terminating null char.
@@ -415,10 +429,14 @@ StrCatS (
copied from Source, then Destination[StrLen(Destination) + Length] is always
set to null.
+ This function is similar as strncat_s defined in C11.
+
If Destination is not aligned on a 16-bit boundary, then ASSERT().
If Source is not aligned on a 16-bit boundary, then ASSERT().
If an error would be returned, then the function will also ASSERT().
+ If an error is returned, then the Destination is unmodified.
+
@param Destination A pointer to a Null-terminated Unicode string.
@param DestMax The maximum number of Destination Unicode
char, including terminating null char.
@@ -520,6 +538,8 @@ StrnCatS (
/**
Returns the length of a Null-terminated Ascii string.
+ This function is similar as strlen_s defined in C11.
+
@param String A pointer to a Null-terminated Ascii string.
@param MaxSize The maximum number of Destination Ascii
char, including terminating null char.
@@ -561,8 +581,12 @@ AsciiStrnLenS (
Copies the string pointed to by Source (including the terminating null char)
to the array pointed to by Destination.
+ This function is similar as strcpy_s defined in C11.
+
If an error would be returned, then the function will also ASSERT().
+ If an error is returned, then the Destination is unmodified.
+
@param Destination A pointer to a Null-terminated Ascii string.
@param DestMax The maximum number of Destination Ascii
char, including terminating null char.
@@ -634,8 +658,12 @@ AsciiStrCpyS (
Source to the array pointed to by Destination. If no null char is copied from
Source, then Destination[Length] is always set to null.
+ This function is similar as strncpy_s defined in C11.
+
If an error would be returned, then the function will also ASSERT().
+ If an error is returned, then the Destination is unmodified.
+
@param Destination A pointer to a Null-terminated Ascii string.
@param DestMax The maximum number of Destination Ascii
char, including terminating null char.
@@ -718,8 +746,12 @@ AsciiStrnCpyS (
Appends a copy of the string pointed to by Source (including the terminating
null char) to the end of the string pointed to by Destination.
+ This function is similar as strcat_s defined in C11.
+
If an error would be returned, then the function will also ASSERT().
+ If an error is returned, then the Destination is unmodified.
+
@param Destination A pointer to a Null-terminated Ascii string.
@param DestMax The maximum number of Destination Ascii
char, including terminating null char.
@@ -810,8 +842,12 @@ AsciiStrCatS (
copied from Source, then Destination[StrLen(Destination) + Length] is always
set to null.
+ This function is similar as strncat_s defined in C11.
+
If an error would be returned, then the function will also ASSERT().
+ If an error is returned, then the Destination is unmodified.
+
@param Destination A pointer to a Null-terminated Ascii string.
@param DestMax The maximum number of Destination Ascii
char, including terminating null char.