mirror of
https://github.com/curl/curl.git
synced 2025-09-12 15:12:42 +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'};
|
char buf[3] = {'b', 'u', 'g'};
|
||||||
const char *str = "bug";
|
const char *str = "bug";
|
||||||
int width = 3;
|
int width = 3;
|
||||||
char output[24];
|
char output[130];
|
||||||
|
|
||||||
/*#define curl_msnprintf snprintf */
|
/*#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);
|
rc = curl_msnprintf(output, 24, "%2$.*1$.99d", 3, 5678);
|
||||||
fail_unless(rc == 0, "return code should be 0");
|
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
|
UNITTEST_STOP
|
||||||
|
|
Loading…
Reference in New Issue
Block a user