s4_x(string, n)

Expands to string repeated n times:

⇐ {s4_x([String], [3])}
⇒ {StringStringString}

Leading and trailing whitespace is trimmed from n:

⇐ {s4_x([String], [
⇐     3
⇐ ])}
⇒ {StringStringString}

n can be signed, both plus and minus signs are allowed:

⇐ {s4_x([String], [+3])}
⇒ {StringStringString}

If n is zero or negative, result is empty:

⇐ {s4_x([String], [-3])}
⇒ {}

Result is quoted:

⇐ {s4_x([m4_toupper([String])], [2])}
⇒ {m4_toupper([String])m4_toupper([String])}

(Note: m4_toupper macro is not expanded.)