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; }
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; }
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; }
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 }