コード例 #1
0
ファイル: terminal.c プロジェクト: channinglan/MINIGUI_1.3.3
void HandleMouseLeftUpWhenCaptured (PCONINFO con, int x, int y, WPARAM wParam)
{
    x /= GetCharWidth ();
    y /= GetCharHeight ();

    TextCopy (con, con->m_origx, con->m_origy, x, y);

    con->m_oldx = x;
    con->m_oldy = y;
}
コード例 #2
0
void *
test_thread(void *data)
{
	int argi;
	char **base;
	struct main_args *arg = data;

	if ((base = calloc(arg->argc+1, sizeof (*base))) == NULL) {
		(void) fprintf(stderr, "%s:%d memory\n", __FILE__, __LINE__);
		return (void *) EXIT_FAILURE;
	}

	/* Force a leak. */
	(void) fprintf(stderr, "create test leak 1\n");
	(void) TextCopy(malloc(101), 101, "leak 1 abcdefghijklmnopqrstuvwxyz");
	
	for (argi = 0; argi < arg->argc; argi++) {
		base[argi] = strdup(arg->argv[argi]);
//		(void) pthread_yield();
		if (base[argi] == NULL) {
			(void) fprintf(stderr, "%s:%d memory\n", __FILE__, __LINE__);
			return (void *) EXIT_FAILURE;
		}
	}
	base[argi] = NULL;
	
	for (argi = 0; argi < arg->argc; argi++) {
		(void) printf("%d: %s\n", argi, base[argi]);
		free(base[argi]);
//		(void) pthread_yield();
	}	
	free(base);
	
	/* Force a leak. */
	(void) fprintf(stderr, "create test leak 2\n");
	(void) TextCopy(malloc(102), 102, "leak 2 abcdefghijklmnopqrstuvwxyz");
	
	return NULL;
}
コード例 #3
0
/*
 * @note
 *	Signal safe.
 */
static size_t
T(tostring)(track_data *track, size_t dump_len, char *buffer, size_t size)
{
	int i;
	size_t n;
	char *buf;
	
	buf = buffer;
	n = TextCopy(buf, size, "    ptr=0x");
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 

	n = ulong_format((unsigned long)(track+1), 16, 0, 0, 0, 0, buf, size);
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 
		
	n = TextCopy(buf, size, " id=");
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 
	
	n = ulong_format(track->id, 10, 0, 0, 0, 0, buf, size);
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 

	n = TextCopy(buf, size, " size=");
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 

	n = ulong_format(track->size, 10, 0, 0, 0, 0, buf, size);
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 

	n = TextCopy(buf, size, " from ");
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 

	n = TextCopy(buf, size, track->here);
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 

	if (0 < size) {
		*buf++ = ':';
		size--;
	}

	n = ulong_format(track->lineno, 10, 0, 0, 0, 0, buf, size);
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 
		
	n = TextCopy(buf, size, "\r\n");
	buf += n; if (buf-buffer < size) size -= n; else size = 0;	 

	/* Round up to multiple of 16. */
	dump_len = ((dump_len + 15) / 16) * 16;
	for (i = 0; i < dump_len; i += 16) {
		n = T(dump_mem)((unsigned char *)(track+1)+i, 16, buf, size);
		buf += n; if (buf-buffer < size) size -= n; else size = 0;
	}
	
	return buf - buffer;
}