mirror of
https://github.com/curl/curl.git
synced 2025-09-12 07:02:41 +03:00
unit1398: test maximum input parameters/output segments
...for the mprintf() code Closes #14833
This commit is contained in:
parent
80df6a5c12
commit
81300c30e2
|
@ -34,7 +34,7 @@ int rc;
|
|||
char buf[3] = {'b', 'u', 'g'};
|
||||
const char *str = "bug";
|
||||
int width = 3;
|
||||
char output[24];
|
||||
char output[130];
|
||||
|
||||
/*#define curl_msnprintf snprintf */
|
||||
|
||||
|
@ -93,4 +93,92 @@ fail_unless(!strcmp(output, " 1234 567"), "wrong output");
|
|||
rc = curl_msnprintf(output, 24, "%2$.*1$.99d", 3, 5678);
|
||||
fail_unless(rc == 0, "return code should be 0");
|
||||
|
||||
/* 129 input % flags */
|
||||
rc = curl_msnprintf(output, 130,
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 10 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 20 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 30 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 40 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 50 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 60 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 70 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 80 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 90 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 100 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 110 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 120 */
|
||||
"%s%s%s%s%s%s%s%s%s", /* 129 */
|
||||
|
||||
"a", "", "", "", "", "", "", "", "", "", /* 10 */
|
||||
"b", "", "", "", "", "", "", "", "", "", /* 20 */
|
||||
"c", "", "", "", "", "", "", "", "", "", /* 30 */
|
||||
"d", "", "", "", "", "", "", "", "", "", /* 40 */
|
||||
"e", "", "", "", "", "", "", "", "", "", /* 50 */
|
||||
"f", "", "", "", "", "", "", "", "", "", /* 60 */
|
||||
"g", "", "", "", "", "", "", "", "", "", /* 70 */
|
||||
"h", "", "", "", "", "", "", "", "", "", /* 80 */
|
||||
"i", "", "", "", "", "", "", "", "", "", /* 90 */
|
||||
"j", "", "", "", "", "", "", "", "", "", /* 100 */
|
||||
"k", "", "", "", "", "", "", "", "", "", /* 110 */
|
||||
"l", "", "", "", "", "", "", "", "", "", /* 120 */
|
||||
"m", "", "", "", "", "", "", "", "" /* 129 */
|
||||
);
|
||||
fail_unless(rc == 0, "return code should be 0");
|
||||
|
||||
/* 128 input % flags */
|
||||
rc = curl_msnprintf(output, 130,
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 10 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 20 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 30 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 40 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 50 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 60 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 70 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 80 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 90 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 100 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 110 */
|
||||
"%s%s%s%s%s%s%s%s%s%s" /* 120 */
|
||||
"%s%s%s%s%s%s%s%s", /* 128 */
|
||||
|
||||
"a", "", "", "", "", "", "", "", "", "", /* 10 */
|
||||
"b", "", "", "", "", "", "", "", "", "", /* 20 */
|
||||
"c", "", "", "", "", "", "", "", "", "", /* 30 */
|
||||
"d", "", "", "", "", "", "", "", "", "", /* 40 */
|
||||
"e", "", "", "", "", "", "", "", "", "", /* 50 */
|
||||
"f", "", "", "", "", "", "", "", "", "", /* 60 */
|
||||
"g", "", "", "", "", "", "", "", "", "", /* 70 */
|
||||
"h", "", "", "", "", "", "", "", "", "", /* 80 */
|
||||
"i", "", "", "", "", "", "", "", "", "", /* 90 */
|
||||
"j", "", "", "", "", "", "", "", "", "", /* 100 */
|
||||
"k", "", "", "", "", "", "", "", "", "", /* 110 */
|
||||
"l", "", "", "", "", "", "", "", "", "", /* 120 */
|
||||
"m", "", "", "", "", "", "", "" /* 128 */
|
||||
);
|
||||
fail_unless(rc == 13, "return code should be 13");
|
||||
|
||||
/* 129 output segments */
|
||||
rc = curl_msnprintf(output, 130,
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 20 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 40 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 60 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 80 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 100 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 120 */
|
||||
"%%%%%%%%%%%%%%%%%%" /* 129 */
|
||||
);
|
||||
fail_unless(rc == 0, "return code should be 0");
|
||||
|
||||
/* 128 output segments */
|
||||
rc = curl_msnprintf(output, 129,
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 20 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 40 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 60 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 80 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 100 */
|
||||
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" /* 120 */
|
||||
"%%%%%%%%%%%%%%%%" /* 128 */
|
||||
);
|
||||
fail_unless(rc == 128, "return code should be 128");
|
||||
|
||||
UNITTEST_STOP
|
||||
|
|
Loading…
Reference in New Issue
Block a user