Example #1
0
static void show_items(char* result, deck& source, const char* title) {
	if(!source.count)
		return;
	szprint(result, "%1: ", title);
	result = zend(result);
	for(auto e : source) {
		if(result[0])
			zcat(result, ", ");
		szprint(zend(result), getstr(e));
	}
	zcat(result, ".\n");
}
Example #2
0
File: tty.c Project: Distrotech/joe
static unsigned char *getpty(int *ptyfd)
{
	int x, fd;
	unsigned char *orgpwd = pwd();
	static unsigned char **ptys = NULL;
	static unsigned char *ttydir;
	static unsigned char *ptydir;
	static unsigned char ttyname[32];

	if (!ptys) {
		ttydir = USTR "/dev/pty/";
		ptydir = USTR "/dev/ptym/";	/* HPUX systems */
		if (chpwd(ptydir) || !(ptys = rexpnd(USTR "pty*")))
			if (!ptys) {
				ttydir = ptydir = USTR "/dev/";	/* Everyone else */
				if (!chpwd(ptydir))
					ptys = rexpnd(USTR "pty*");
			}
	}
	chpwd(orgpwd);

	if (ptys)
		for (fd = 0; ptys[fd]; ++fd) {
			zcpy(ttyname, ptydir);
			zcat(ttyname, ptys[fd]);
			if ((*ptyfd = open((char *)ttyname, O_RDWR)) >= 0) {
				ptys[fd][0] = 't';
				zcpy(ttyname, ttydir);
				zcat(ttyname, ptys[fd]);
				ptys[fd][0] = 'p';
				x = open((char *)ttyname, O_RDWR);
				if (x >= 0) {
					close(x);
					close(*ptyfd);
					zcpy(ttyname, ptydir);
					zcat(ttyname, ptys[fd]);
					*ptyfd = open((char *)ttyname, O_RDWR);
					ptys[fd][0] = 't';
					zcpy(ttyname, ttydir);
					zcat(ttyname, ptys[fd]);
					ptys[fd][0] = 'p';
					return ttyname;
				} else
					close(*ptyfd);
			}
		}
	return NULL;
}
Example #3
0
static char* add_filter(char* result, const char* name, const char* filter)
{
	if(!filter)
		return result;
	szprint(result, "%1 (%2)", name, filter);
	szupper(result, 1);
	result += zlen(result); *result++ = 0; *result = 0;
	zcat(result, filter);
	result += zlen(result); *result++ = 0; *result = 0;
	return result;
}
Example #4
0
void logs::driver::parseidentifier(char* result, const char* result_max, const char* identifier) {
	if(strcmp(identifier, "герой") == 0)
		zcpy(result, name);
	else if(strcmp(identifier, "героя") == 0)
		grammar::of(result, name);
	else if(strcmp(identifier, "оппонент") == 0)
		zcpy(result, opponent_name);
	else if(strcmp(identifier, "оппонента") == 0)
		grammar::of(result, opponent_name);
	else if(strcmp(identifier, "ась") == 0)
		msg(gender, result, "ся", identifier, "ись");
	else if(strcmp(identifier, "а") == 0)
		msg(gender, result, "", identifier, "и");
	else if(strcmp(identifier, "А") == 0)
		msg(opponent_gender, result, "", "а", "и");
	else if(strcmp(identifier, "ла") == 0)
		msg(gender, result, "", identifier, "ли");
	else if(strcmp(identifier, "ЛА") == 0)
		msg(opponent_gender, result, "", "ла", "ли");
	else if(strcmp(identifier, "она") == 0)
		msg(gender, result, "он", identifier, "они");
	else if(strcmp(identifier, "ОНА") == 0)
		msg(opponent_gender, result, "он", "она", "они");
	else if(strcmp(identifier, "ее") == 0)
		msg(gender, result, "его", identifier, "их");
	else if(strcmp(identifier, "ЕЕ") == 0)
		msg(opponent_gender, result, "его", "ее", "их");
	else if(strcmp(identifier, "ей") == 0)
		msg(gender, result, "ему", identifier, "им");
	else if(strcmp(identifier, "нее") == 0)
		msg(gender, result, "него", identifier, "них");
	else {
		zcat(result, "[-");
		zcat(result, identifier);
		zcat(result, "]");
	}
}