final cleaned revision (I hope)
This commit is contained in:
		| @@ -107,7 +107,6 @@ void copy_amxmemory(cell* dest, cell* src, int len) | ||||
| 		*dest++=*src++; | ||||
| } | ||||
|  | ||||
|  | ||||
| char* parse_arg(char** line, int& state) | ||||
| { | ||||
| 	static char arg[3072]; | ||||
| @@ -150,9 +149,11 @@ char* parse_arg(char** line, int& state) | ||||
| static cell AMX_NATIVE_CALL replace(AMX *amx, cell *params) /* 4 param */ | ||||
| { | ||||
| 	static char buffor[3072]; | ||||
| 	 | ||||
| 	cell *a = get_amxaddr(amx, params[1]); | ||||
| 	cell *b = get_amxaddr(amx, params[3]); | ||||
| 	cell *c = get_amxaddr(amx, params[4]); | ||||
| 	 | ||||
| 	int iMain = amxstring_len(a); | ||||
| 	int iWhat = amxstring_len(b); | ||||
| 	int iWith = amxstring_len(c); | ||||
| @@ -264,6 +265,7 @@ static cell AMX_NATIVE_CALL numtostr(AMX *amx, cell *params) /* 3 param */ | ||||
| { | ||||
| 	char szTemp[32]; | ||||
| 	sprintf(szTemp, "%d", (int)params[1]); | ||||
| 	 | ||||
| 	return set_amxstring(amx, params[2], szTemp, params[3]); | ||||
| } | ||||
|  | ||||
| @@ -328,6 +330,7 @@ static cell AMX_NATIVE_CALL float_to_str(AMX *amx, cell *params) | ||||
| { | ||||
| 	char szTemp[32]; | ||||
| 	sprintf(szTemp, "%f", amx_ctof(params[1])); | ||||
| 	 | ||||
| 	return set_amxstring(amx, params[2], szTemp, params[3]); | ||||
| } | ||||
|  | ||||
| @@ -408,7 +411,7 @@ static cell AMX_NATIVE_CALL equal(AMX *amx, cell *params) /* 3 param */ | ||||
| 	{ | ||||
| 		while (--c && *a && (*a == *b)) | ||||
| 			++a, ++b; | ||||
| 		return (*a-*b)?0:1; | ||||
| 		return (*a-*b) ? 0 : 1; | ||||
| 	} | ||||
| 	 | ||||
| 	int ret; | ||||
| @@ -511,6 +514,7 @@ int fo_numargs(AMX *amx) | ||||
| { | ||||
| 	unsigned char *data = amx->base + (int)((AMX_HEADER *)amx->base)->dat; | ||||
| 	cell bytes= *(cell *)(data + (int)amx->frm + 2 * sizeof(cell)); | ||||
| 	 | ||||
| 	return (int)(bytes / sizeof(cell)); | ||||
| } | ||||
|  | ||||
| @@ -518,6 +522,7 @@ int fo_getargnum(AMX *amx, int pos) | ||||
| { | ||||
| 	unsigned char *data = amx->base + (int)((AMX_HEADER *)amx->base)->dat; | ||||
| 	cell value = *(cell *)(data + (int)amx->frm + (pos + 3) * sizeof(cell)); | ||||
| 	 | ||||
| 	return *(cell *)(data + (int)value); | ||||
| } | ||||
|  | ||||
| @@ -526,6 +531,7 @@ float fo_getargfloat(AMX *amx, int pos) | ||||
| 	unsigned char *data = amx->base + (int)((AMX_HEADER *)amx->base)->dat; | ||||
| 	cell value = *(cell *)(data + (int)amx->frm + (pos + 3) * sizeof(cell)); | ||||
| 	cell number = *(cell *)(data + (int)value); | ||||
| 	 | ||||
| 	return *(REAL *)((void *)&number); | ||||
| } | ||||
|  | ||||
| @@ -577,7 +583,7 @@ char* format_arguments(AMX *amx, int parm, int& len) | ||||
| 			 | ||||
| 			switch (*(ptr - 1)) | ||||
| 			{ | ||||
| 				case 's':  sprintf(arg, format, fo_getargstr(amx, 1, parm++)); break; | ||||
| 				case 's': sprintf(arg, format, fo_getargstr(amx, 1, parm++)); break; | ||||
| 				case 'f': case 'g': sprintf(arg, format, fo_getargfloat(amx, parm++)); break; | ||||
| 				default: sprintf(arg, format, fo_getargnum(amx, parm++)); | ||||
| 			} | ||||
| @@ -741,6 +747,7 @@ static cell AMX_NATIVE_CALL format_args(AMX *amx, cell *params) | ||||
| 	} | ||||
|  | ||||
| 	char* string = format_arguments(amx, pos, len); // indexed from 0 | ||||
| 	 | ||||
| 	return set_amxstring(amx, params[1], string, params[2]); | ||||
| } | ||||
|  | ||||
| @@ -878,37 +885,37 @@ static cell AMX_NATIVE_CALL n_strfind(AMX *amx, cell *params) | ||||
|  | ||||
| AMX_NATIVE_INFO string_Natives[] = | ||||
| { | ||||
| 	{"add",			add}, | ||||
| 	{"contain",		contain}, | ||||
| 	{"containi",	containi}, | ||||
| 	{"copy",		copy}, | ||||
| 	{"copyc",		copyc}, | ||||
| 	{"equal",		equal}, | ||||
| 	{"equali",		equali}, | ||||
| 	{"format",		format}, | ||||
| 	{"format_args", format_args}, | ||||
| 	{"isdigit",		is_digit}, | ||||
| 	{"isalnum",		is_alnum}, | ||||
| 	{"isspace",		is_space}, | ||||
| 	{"isalpha",		is_alpha}, | ||||
| 	{"num_to_str",	numtostr}, | ||||
| 	{"numtostr",	numtostr}, | ||||
| 	{"parse",		parse}, | ||||
| 	{"replace",		replace}, | ||||
| 	{"setc",		setc}, | ||||
| 	{"strbreak",	strbreak}, | ||||
| 	{"strtolower",	strtolower}, | ||||
| 	{"strtoupper",	strtoupper}, | ||||
| 	{"str_to_num",	strtonum}, | ||||
| 	{"strtonum",	strtonum}, | ||||
| 	{"trim",		amx_trim}, | ||||
| 	{"ucfirst",		amx_ucfirst}, | ||||
| 	{"strtok",		amx_strtok}, | ||||
| 	{"strlen",		amx_strlen}, | ||||
| 	{"strcat",		n_strcat}, | ||||
| 	{"strfind",		n_strfind}, | ||||
| 	{"strcmp",		n_strcmp}, | ||||
| 	{"add",				add}, | ||||
| 	{"contain",			contain}, | ||||
| 	{"containi",		containi}, | ||||
| 	{"copy",			copy}, | ||||
| 	{"copyc",			copyc}, | ||||
| 	{"equal",			equal}, | ||||
| 	{"equali",			equali}, | ||||
| 	{"format",			format}, | ||||
| 	{"format_args",		format_args}, | ||||
| 	{"isdigit",			is_digit}, | ||||
| 	{"isalnum",			is_alnum}, | ||||
| 	{"isspace",			is_space}, | ||||
| 	{"isalpha",			is_alpha}, | ||||
| 	{"num_to_str",		numtostr}, | ||||
| 	{"numtostr",		numtostr}, | ||||
| 	{"parse",			parse}, | ||||
| 	{"replace",			replace}, | ||||
| 	{"setc",			setc}, | ||||
| 	{"strbreak",		strbreak}, | ||||
| 	{"strtolower",		strtolower}, | ||||
| 	{"strtoupper",		strtoupper}, | ||||
| 	{"str_to_num",		strtonum}, | ||||
| 	{"strtonum",		strtonum}, | ||||
| 	{"trim",			amx_trim}, | ||||
| 	{"ucfirst",			amx_ucfirst}, | ||||
| 	{"strtok",			amx_strtok}, | ||||
| 	{"strlen",			amx_strlen}, | ||||
| 	{"strcat",			n_strcat}, | ||||
| 	{"strfind",			n_strfind}, | ||||
| 	{"strcmp",			n_strcmp}, | ||||
| 	{"str_to_float",	str_to_float}, | ||||
| 	{"float_to_str",	float_to_str}, | ||||
| 	{NULL,			NULL } | ||||
| 	{NULL,				NULL} | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user