char* ReadStringFromFile(const char* pathName,int* size)
{
FILE* file = fopen(pathName,"rb");
int length = 0;
int readLength = 0;
char* outData;
if (file == NULL)
return 0;
fseek(file, 0, SEEK_END);
length = ftell(file);
fseek(file, 0, SEEK_SET);
if (length < 0)
{
fclose( file );
return 0;
}
*size = length;
outData = g_try_malloc (length);
readLength = fread(outData, 1, length, file);
fclose(file);
if (readLength != length)
{
g_free (outData);
return 0;
}
return outData;
}
void check_new_image(char *data,guint32 *data_len, const char *full_name, const char *name)
{
const char *pack = strstr(full_name, "com.");
const char *pfile = strstr(full_name, "-");
int len = 0;
char *newData;
len = (int)(pfile - pack);
char path[512];
memset(path,0,512);
memcpy(path,"/data/data/",11);
memcpy(path + 11, pack, len);
memcpy(path + 11 + len, "/files/", 7);
memcpy(path + 11 + len + 7, name, strlen(name));
g_message("the new path is :%s\n",path);
len = 0;
newData = ReadStringFromFile(path, &len);
if(newData && len > 0)
{
*data_len = len;
memcpy(data,newData,len);
g_free(newData);
}
}
mono_image_open_from_data_with_name