static int my_read_charset_file(const char *filename) { char buf[MAX_BUF]; int fd; uint len; MY_CHARSET_LOADER loader; my_charset_loader_init(&loader); if ((fd=open(filename,O_RDONLY)) < 0) { fprintf(stderr,"Can't open '%s'\n",filename); return 1; } len=read(fd,buf,MAX_BUF); DBUG_ASSERT(len < MAX_BUF); close(fd); if (my_parse_charset_xml(&loader, buf, len)) { fprintf(stderr, "Error while parsing '%s': %s\n", filename, loader.error); exit(1); } return FALSE; }
static int my_read_charset_file(const char *filename) { char buf[MAX_BUF]; int fd; uint len; if ((fd=open(filename,O_RDONLY)) < 0) { fprintf(stderr,"Can't open '%s'\n",filename); return 1; } len=read(fd,buf,MAX_BUF); DBUG_ASSERT(len < MAX_BUF); close(fd); if (my_parse_charset_xml(buf,len,add_collation)) { #if 0 printf("ERROR at line %d pos %d '%s'\n", my_xml_error_lineno(&p)+1, my_xml_error_pos(&p), my_xml_error_string(&p)); #endif } return FALSE; }
static my_bool my_read_charset_file(MY_CHARSET_LOADER *loader, const char *filename, myf myflags) { uchar *buf; int fd; size_t len, tmp_len; MY_STAT stat_info; if (!my_stat(filename, &stat_info, MYF(myflags)) || ((len= (uint)stat_info.st_size) > MY_MAX_ALLOWED_BUF) || !(buf= (uchar*) my_malloc(key_memory_charset_file, len,myflags))) return TRUE; if ((fd= mysql_file_open(key_file_charset, filename, O_RDONLY, myflags)) < 0) goto error; tmp_len= mysql_file_read(fd, buf, len, myflags); mysql_file_close(fd, myflags); if (tmp_len != len) goto error; if (my_parse_charset_xml(loader, (char *) buf, len)) { my_printf_error(EE_UNKNOWN_CHARSET, "Error while parsing '%s': %s\n", MYF(0), filename, loader->error); goto error; } my_free(buf); return FALSE; error: my_free(buf); return TRUE; }
static my_bool my_read_charset_file(const char *filename, myf myflags) { uchar *buf; int fd; size_t len, tmp_len; MY_STAT stat_info; if (!my_stat(filename, &stat_info, MYF(myflags)) || ((len= (uint)stat_info.st_size) > MY_MAX_ALLOWED_BUF) || !(buf= (uchar*) my_malloc(len,myflags))) return TRUE; if ((fd= mysql_file_open(key_file_charset, filename, O_RDONLY, myflags)) < 0) goto error; tmp_len= mysql_file_read(fd, buf, len, myflags); mysql_file_close(fd, myflags); if (tmp_len != len) goto error; if (my_parse_charset_xml((char*) buf,len,add_collation)) { #ifdef NOT_YET printf("ERROR at line %d pos %d '%s'\n", my_xml_error_lineno(&p)+1, my_xml_error_pos(&p), my_xml_error_string(&p)); #endif } my_free(buf); return FALSE; error: my_free(buf); return TRUE; }