• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.5.8/source3/torture/
1/*
2 * Copyright (C) 2005 by Volker Lendecke
3 *
4 * Test harness for sprintf_append
5 */
6
7#include "includes.h"
8#include <assert.h>
9
10int main(int argc, char *argv[])
11{
12	TALLOC_CTX *mem_ctx;
13	char *string = NULL;
14	int len = 0;
15	int bufsize = 4;
16	int i;
17
18	mem_ctx = talloc_init("t_strappend");
19	if (mem_ctx == NULL) {
20		fprintf(stderr, "talloc_init failed\n");
21		return 1;
22	}
23
24	sprintf_append(mem_ctx, &string, &len, &bufsize, "");
25	assert(strlen(string) == len);
26	sprintf_append(mem_ctx, &string, &len, &bufsize, "");
27	assert(strlen(string) == len);
28	sprintf_append(mem_ctx, &string, &len, &bufsize,
29		       "01234567890123456789012345678901234567890123456789\n");
30	assert(strlen(string) == len);
31
32
33	for (i=0; i<(100000); i++) {
34		if (i%1000 == 0) {
35			printf("%d %d\r", i, bufsize);
36			fflush(stdout);
37		}
38		sprintf_append(mem_ctx, &string, &len, &bufsize, "%d\n", i);
39		assert(strlen(string) == len);
40	}
41
42	talloc_destroy(mem_ctx);
43
44	return 0;
45}
46