そもそもcmp()の第二引数の型がおかしいわけだが。
20文字以下ということならstrncmp()とか、memcmp()とか。