Esempio n. 1
0
unsigned int tokenizer_next(struct tokenizer *tokenizer, struct token *token, unsigned int crossline) {
	if(tokenizer->unget) {
		return 1;
	}

skipspace:
	while(*tokenizer->script <= 32) {
		if(!*tokenizer->script) {
			if(!crossline) {
				user_err("Line %i is incomplete", tokenizer->line);
			}
			return 0;
		}
		if(*tokenizer->script++ == '\n') {
			if(!crossline) {
				user_err("Line %i is incomplete", tokenizer->line);
			}
			++tokenizer->line;
		}
	}

	if(tokenizer->script[0] == '/' && tokenizer->script[1] == '/') {
		if(!crossline) {
			user_err("Line %i is incomplete", tokenizer->line);
		}
		while(*tokenizer->script++ != '\n') {
			if(!*tokenizer->script) {
				if(!crossline) {
					user_err("Line %i is incomplete", tokenizer->line);
				}
				return 0;
			}
		}
		goto skipspace;
	}

	if(*tokenizer->script == '\"') {
		token->length = 0;
		token->ptr = ++tokenizer->script;
		while(*tokenizer->script != '\"') {
			if(!tokenizer->script) {
				user_err("EOF inside quoted token");
			}
			++token->length;
			++tokenizer->script;
		}
		++tokenizer->script;
	} else {
		token->length = 0;
		token->ptr = tokenizer->script++;
		while(*tokenizer->script > 32) {
			++token->length;
			++tokenizer->script;
		}
	}

	return 1;
}
Esempio n. 2
0
static int _do_or_die(int argc, char *argv[]) {
	int result = shell_do(argc, argv);
	if(result == SHELL_NOT_FOUND) {
		user_err("shell: Could not find function `%s`", argv[0]);
	}
	return result;
}
Esempio n. 3
0
INT32S audio_user_set_comb_startaddr_length(INT16S fd,INT32U audio_index,INT8U mode,INT32U audio_comb_start_addr)//081115
{
	INT8U *U8_ptr;
	INT32S ret,total_audio_index;
	INT8U char_temp3,char_temp2,char_temp1,char_temp0;

	g_user_read_data_fd = fd;
	g_user_read_data_mode = mode;
	g_user_read_data_addr = audio_comb_start_addr;
	ret = read_two_sector(g_user_read_data_fd, (g_user_read_data_addr&0xfffffe00), (INT32U)G_user_read_buffer, g_user_read_data_mode);
	if(ret<0)
	{
		user_err();
	}
	U8_ptr = (INT8U*)(G_user_read_buffer + ((INT32U)g_user_read_data_addr & 0x000001ff) );
	char_temp0 = *(U8_ptr++);
	char_temp1 = *(U8_ptr++);
	char_temp2 = *(U8_ptr++);
	char_temp3 = *(U8_ptr++);
	total_audio_index = (INT32S)((char_temp3<<24) | (char_temp2<<16) | (char_temp1<<8) | char_temp0);
	if((audio_index >= total_audio_index) || (total_audio_index <= 0))
	{
		user_err();
	}
	g_user_read_data_addr += 4;
	g_user_read_data_addr += audio_index*8;
	ret = (INT32S)read_two_sector(g_user_read_data_fd, (g_user_read_data_addr&0xfffffe00), (INT32U)G_user_read_buffer, g_user_read_data_mode);
	if(ret<0)
	{
		user_err();
	}
	U8_ptr = (INT8U*)(G_user_read_buffer + ((INT32U)g_user_read_data_addr & 0x000001ff) );
	char_temp0 = *(U8_ptr++);
	char_temp1 = *(U8_ptr++);
	char_temp2 = *(U8_ptr++);
	char_temp3 = *(U8_ptr++);
	g_user_read_data_addr = audio_comb_start_addr + (INT32S)((char_temp3<<24) | (char_temp2<<16) | (char_temp1<<8) | char_temp0);
	global_user_read_data_addr = g_user_read_data_addr;//090701
	char_temp0 = *(U8_ptr++);
	char_temp1 = *(U8_ptr++);
	char_temp2 = *(U8_ptr++);
	char_temp3 = *(U8_ptr++);
	g_audio_data_length = (INT32S)((char_temp3<<24) | (char_temp2<<16) | (char_temp1<<8) | char_temp0);
	return total_audio_index;
}
Esempio n. 4
0
INT32S audio_encoded_data_read(INT32U buf_addr, INT32U buf_size, INT8U *data_start_addr, INT32U buf_offset)
{
#if 1
	INT8U* offset;

	offset = data_start_addr + buf_offset;
	gp_memcpy((INT8S*)buf_addr, (INT8S*)offset, buf_size);
	
	return buf_size;
#else//load comb data from nandflash or FS
	INT32S ret;
	INT32U temp;
	INT32U temp_addr,temp_size;
	INT8U *U8_ptr_source,*U8_ptr_target;
	
	if(g_user_read_data_mode == 6)////´ÓSDRAMÖв¥AUDIOÊý¾Ý
	{
		//U8_ptr_source = (INT8U*)g_user_read_data_addr;
		U8_ptr_source = (INT8U*)(global_user_read_data_addr + g_audio_data_offset);
		U8_ptr_target = (INT8U*)buf_addr;
		temp_size = buf_size;
		for(; temp_size; temp_size--)
		{
			*U8_ptr_target++ = *U8_ptr_source++;
		}
		//g_user_read_data_addr += buf_size;
		g_audio_data_offset += buf_size;
		return buf_size;
	}	
	temp_size = buf_size;
	U8_ptr_target = (INT8U*)buf_addr;
	if(g_user_read_data_addr & 0x000001ff)
	{
		temp = (g_user_read_data_addr&0xfffffe00) + 0x00000200;
		ret = read_a_sector(g_user_read_data_fd, (g_user_read_data_addr&0xfffffe00), (INT32U)G_user_read_buffer, g_user_read_data_mode);
		if(ret<0)
		{
			user_err();
		}
		U8_ptr_source = (INT8U*)(G_user_read_buffer + ((INT32U)g_user_read_data_addr & 0x000001ff) );
		while((g_user_read_data_addr < temp) && (temp_size))
		{
			*U8_ptr_target++ = *U8_ptr_source++;
			g_user_read_data_addr += 1;		
			temp_size -= 1;
		}
	}
	temp_addr = (INT32U)U8_ptr_target;
	while(temp_size >= 512)
	{
		ret = read_a_sector(g_user_read_data_fd, (g_user_read_data_addr&0xfffffe00), temp_addr, g_user_read_data_mode);
		if(ret < 0)
		{
			user_err();
		}
		g_user_read_data_addr += 512;
		temp_size -= 512;
		temp_addr += 512;		
	}
	if(temp_size)
	{
		ret = read_a_sector(g_user_read_data_fd, (g_user_read_data_addr&0xfffffe00), (INT32U)G_user_read_buffer, g_user_read_data_mode);
		if(ret < 0)
		{
			user_err();
		}
		U8_ptr_source = (INT8U*)(G_user_read_buffer + ((INT32U)g_user_read_data_addr & 0x000001ff) );
		U8_ptr_target = (INT8U*)temp_addr;
		while(temp_size)
		{
			*U8_ptr_target++ = *U8_ptr_source++;
			g_user_read_data_addr += 1;		
			temp_size -= 1;
		}
	}
	//  temp_addr1 = g_user_read_data_addr;
	return buf_size;
#endif
}