とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

に段落が追加されている

C99 の 7.21.1 String function conventions は段落が2つしかないのですが,C1X の同じ箇所には段落が3つあります。仕様が厳密になったようです。その部分を以下に引用します。

Forall functions in this subclause, each character shall be interpreted as if it had the type
unsigned char (and therefore every possible object representation is valid and has a
different value).

ちょー訳すると,「の関数で出てくる文字は全て unsigned char 型として扱いますよ。だから,全ての表現は有効で異なるものとみなせますよ。」みたいな感じだと思います。
おそらく memcmp などで void* をどの文字型にキャストして実装するのかあいまいだったのをはっきりさせるために,この段落が追加されたのでしょう。unsigned char か signed char かで大きさの比較に違いが生まれてしまいますので。
多分 char* な引数の関数はそのまま char* で実装しても問題ないと思います。

追記:上の本文で私の予想を書きましたが,間違っていました。コメント欄参照。