您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ tifiles_critical函数代码示例

51自学网 2021-06-03 08:50:06
  C++
这篇教程C++ tifiles_critical函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中tifiles_critical函数的典型用法代码示例。如果您正苦于以下问题:C++ tifiles_critical函数的具体用法?C++ tifiles_critical怎么用?C++ tifiles_critical使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了tifiles_critical函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: tnsp_file_read_regular

/** * tnsp_file_read_regular: * @filename: name of file to open. * @content: where to store the file content. * * Load the file into a FileContent structure. * * Structure content must be freed with #tifiles_content_delete_regular when * no longer used. If error occurs, the structure content is released for you. * * Return value: an error code, 0 otherwise. **/int tnsp_file_read_regular(const char *filename, FileContent *content){	FILE *f;	if (!tifiles_file_is_regular(filename))	{		return ERR_INVALID_FILE;	}	if (content == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);	return ERR_INVALID_FILE;	}	f = g_fopen(filename, "rb");	if (f == NULL)	{		tifiles_info( "Unable to open this file: %s", filename);		return ERR_FILE_OPEN;	}	content->model = CALC_NSPIRE;	content->model_dst = content->model;	content->entries = g_malloc0((content->num_entries + 1) * sizeof(VarEntry*));	{		VarEntry *entry = content->entries[0] = g_malloc0(sizeof(VarEntry));		gchar *basename = g_path_get_basename(filename);		gchar *ext = tifiles_fext_get(basename);		entry->type = tifiles_fext2vartype(content->model, ext);		if(ext) *(ext-1) = '/0';		strcpy(entry->folder, "");		strcpy(entry->name, basename);		g_free(basename);		entry->attr = ATTRB_NONE;		fseek(f, 0, SEEK_END);		entry->size = (uint32_t)ftell(f);		fseek(f, 0, SEEK_SET);		entry->data = (uint8_t *)g_malloc0(entry->size);  		if(fread(entry->data, 1, entry->size, f) < entry->size) goto tffr;	}	content->num_entries++;	fclose(f);	return 0;tffr:	// release on exit	tifiles_critical("%s: error reading / understanding file %s", __FUNCTION__, filename);	fclose(f);	tifiles_content_delete_regular(content);	return ERR_FILE_IO;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:72,


示例2: tifiles_cert_field_next

TIEXPORT2 int TICALL tifiles_cert_field_next(const uint8_t **data, uint32_t *length){	int ret;	const uint8_t * contents;	uint32_t field_size;	// Initial sanity checks.	if (data == NULL)	{		tifiles_critical("%s: data is NULL", __FUNCTION__);		return ERR_INVALID_PARAM;	}	if (length == NULL)	{		tifiles_critical("%s: length is NULL", __FUNCTION__);		return ERR_INVALID_PARAM;	}	ret = tifiles_cert_field_get(*data, *length, NULL, &contents, &field_size);	if (!ret)	{		*length -= contents + field_size - *data;		*data = contents + field_size;	}	return ret;}
开发者ID:TC01,项目名称:tilibs,代码行数:27,


示例3: max

/*  Write a string of 'n' chars max (NULL padded) to a file  - s [in]: a string  - f [in]: a file descriptor  - [out]: -1 if error, 0 otherwise.*/int fwrite_n_chars(FILE * f, unsigned int n, const char *s){	unsigned int i;	unsigned int l;	l = strlen(s);	if (l > n)	{		tifiles_critical("string passed to 'fwrite_n_chars' is too long (>n chars)./n");		tifiles_critical( "s = %s, len(s) = %u/n", s, l);		tifiles_hexdump((uint8_t *)s, (l < n) ? n : l);		return -1;	}	for (i = 0; i < l; i++)	{		if (fputc(s[i], f) == EOF)		{			return -1;		}	}	for (i = l; i < n; i++)	{		if (fputc(0x00, f) == EOF)		{			return -1;		}	}	return 0;}
开发者ID:debrouxl,项目名称:tilibs,代码行数:37,


示例4: tifiles_content_delete_regular

/** * tifiles_content_delete_regular: * * Free the whole content of a #FileContent structure. * * Return value: none. **/TIEXPORT2 int TICALL tifiles_content_delete_regular(FileContent *content){	int i;	if (content != NULL)	{		for (i = 0; i < content->num_entries; i++) 		{			VarEntry *entry = content->entries[i];			if(entry != NULL)			{				g_free(entry->data);				g_free(entry);			}			else			{				tifiles_critical("tifiles_content_delete_regular(content with NULL entry)");			}		}		g_free(content->entries);		g_free(content);	}	else	{		tifiles_critical("%s(NULL)", __FUNCTION__);	}	return 0;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:37,


示例5: tifiles_cert_field_find

TIEXPORT2 int TICALL tifiles_cert_field_find(const uint8_t *data, uint32_t length, uint16_t field_type, const uint8_t **contents, uint32_t *field_size){	int ret = 0;	uint16_t ft;	// Initial sanity checks.	if (data == NULL)	{		tifiles_critical("%s: data is NULL", __FUNCTION__);		return ERR_INVALID_PARAM;	}	if (length < 2)	{		tifiles_critical("%s: length is too small to contain a valid cert field", __FUNCTION__);		return ERR_INVALID_PARAM;	}	// Mask out the size indication, it is harmful for finding a field.	field_type &= 0xFFF0;	ft = 0xFFFF;	while (!ret && ft != field_type)	{		ret = tifiles_cert_field_get(data, length, &ft, contents, field_size);		ft &= 0xFFF0;		if (!ret)		{			ret = tifiles_cert_field_next(&data, &length);		}	}	return ret;}
开发者ID:TC01,项目名称:tilibs,代码行数:33,


示例6: max

/*  Write a string of 'n' chars max (SPC padded) to a file  - s [in]: a string  - f [in]: a file descriptor  - [out]: -1 if error, 0 otherwise.*/int fwrite_n_chars2(FILE * f, int n, const char *s){	int i;	int l = n;	l = strlen(s);	if (l > n)	{		tifiles_critical("string passed in 'write_string8' is too long (>n chars)./n");		tifiles_critical( "s = %s, len(s) = %i/n", s, l);		hexdump((uint8_t *) s, (l < 9) ? 9 : l);		return -1;	}	for (i = 0; i < l; i++)	{		if(fputc(s[i], f) == EOF)		{			return -1;		}	}	for (i = l; i < n; i++)	{		if(fputc(0x20, f) == EOF)		{			return -1;		}	}	return 0;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:37,


示例7: tnsp_file_read_flash

/** * tnsp_file_read_flash: * @filename: name of flash file to open. * @content: where to store the file content. * * Load the flash file into a #FlashContent structure. * * Structure content must be freed with #tifiles_content_delete_flash when * no longer used. If error occurs, the structure content is released for you. * * Return value: an error code, 0 otherwise. **/int tnsp_file_read_flash(const char *filename, FlashContent *content){	FILE *f;	int c;	if (!tifiles_file_is_tno(filename))		return ERR_INVALID_FILE;	if (content == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return ERR_INVALID_FILE;	}	f = g_fopen(filename, "rb");	if (f == NULL) 	{		tifiles_info("Unable to open this file: %s/n", filename);		return ERR_FILE_OPEN;	}	content->model = CALC_NSPIRE;	for(c = 0; c != ' '; c=fgetc(f));	content->revision_major = fgetc(f);	fgetc(f);	content->revision_minor = fgetc(f);	fgetc(f);	for(c = 0; c != ' '; c=fgetc(f));	if (fscanf(f, "%i", &(content->data_length)) < 1)	{		goto tfrf;	}	rewind(f);	content->data_part = (uint8_t *)g_malloc0(content->data_length);	if (content->data_part == NULL) 	{		fclose(f);		tifiles_content_delete_flash(content);		return ERR_MALLOC;	}	content->next = NULL;	if(fread(content->data_part, 1, content->data_length, f) < content->data_length) goto tfrf;	fclose(f);	return 0;tfrf:	// release on exit	tifiles_critical("%s: error reading / understanding file %s", __FUNCTION__, filename);	fclose(f);	tifiles_content_delete_flash(content);	return ERR_FILE_IO;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:67,


示例8: tnsp_content_display_flash

/** * tnsp_content_display_flash: * @content: a FlashContent structure. * * Display fields of a FlashContent structure. * * Return value: an error code, 0 otherwise. **/int tnsp_content_display_flash(FlashContent *content){	FlashContent *ptr = content;    if (content == NULL)    {        tifiles_critical("%s(NULL)", __FUNCTION__);        return ERR_INVALID_FILE;    }    tifiles_info("Signature:      %s",	    tifiles_calctype2signature(ptr->model));    tifiles_info("Revision:       %i.%i",	    ptr->revision_major, ptr->revision_minor);    tifiles_info("Flags:          %02X", ptr->flags);    tifiles_info("Object type:    %02X", ptr->object_type);    tifiles_info("Date:           %02X/%02X/%02X%02X",	    ptr->revision_day, ptr->revision_month,	    ptr->revision_year & 0xff, (ptr->revision_year & 0xff00) >> 8);    tifiles_info("Name:           %s", ptr->name);    tifiles_info("Device type:    %s",	    ptr->device_type == DEVICE_TYPE_89 ? "ti89" : "ti92+");    tifiles_info("Data type:      OS data");    tifiles_info("Length:         %08X (%i)", ptr->data_length,	    ptr->data_length);    tifiles_info("");  return 0;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:37,


示例9: ti9x_content_display_regular

/** * ti9x_content_display_regular: * @content: a Ti9xRegular structure. * * Display fields of a Ti9xRegular structure. * * Return value: an error code, 0 otherwise. **/int ti9x_content_display_regular(Ti9xRegular *content){	int i;	char trans[17];	if (content == NULL)	{		tifiles_critical("%s(NULL)", __FUNCTION__);		return ERR_INVALID_FILE;	}	tifiles_info("Signature:         %s", tifiles_calctype2signature(content->model));	tifiles_info("Comment:           %s", content->comment);	tifiles_info("Default folder:    %s", content->default_folder);	tifiles_info("Number of entries: %i", content->num_entries);	for (i = 0; i < content->num_entries; i++) 	{		if (content->entries[i] != NULL)		{			tifiles_info("Entry #%i", i);			tifiles_info("  folder:    %s", content->entries[i]->folder);			tifiles_info("  name:      %s", ticonv_varname_to_utf8_s(content->model, content->entries[i]->name,  trans, content->entries[i]->type));			tifiles_info("  type:      %02X (%s)", content->entries[i]->type, tifiles_vartype2string(content->model, content->entries[i]->type));			tifiles_info("  attr:      %s", tifiles_attribute_to_string(content->entries[i]->attr));			tifiles_info("  length:    %04X (%i)", content->entries[i]->size, content->entries[i]->size);		}	}	tifiles_info("Checksum:    %04X (%i) ", content->checksum, content->checksum);	return 0;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:41,


示例10: tifiles_signature2calctype

/** * tifiles_signature2calctype: * @s: a TI file signature like "**TI89**". * * Returns the calculator model contained in the signature. * * Return value: a calculator model. **/TIEXPORT2 CalcModel TICALL tifiles_signature2calctype(const char *s){  if (s != NULL)  {    if (!g_ascii_strcasecmp(s, "**TI73**"))      return CALC_TI73;    else if (!g_ascii_strcasecmp(s, "**TI82**"))      return CALC_TI82;    else if (!g_ascii_strcasecmp(s, "**TI83**"))      return CALC_TI83;    else if (!g_ascii_strcasecmp(s, "**TI83F*"))      return CALC_TI83P;    else if (!g_ascii_strcasecmp(s, "**TI85**"))      return CALC_TI85;    else if (!g_ascii_strcasecmp(s, "**TI86**"))      return CALC_TI86;    else if (!g_ascii_strcasecmp(s, "**TI89**"))      return CALC_TI89;    else if (!g_ascii_strcasecmp(s, "**TI92**"))      return CALC_TI92;    else if (!g_ascii_strcasecmp(s, "**TI92P*"))      return CALC_TI92P;    else if (!g_ascii_strcasecmp(s, "**V200**"))      return CALC_V200;  }  tifiles_critical("%s: invalid signature.", __FUNCTION__);  return CALC_NONE;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:36,


示例11: tifiles_build_fullname

/** * tifiles_build_fullname: * @model: a calculator model. * @full_name: the buffer where to store the result. * @fldname: the name of folder or "". * @varname: the name of variable * * Build the complete path from folder name and variable name. * Not all of calculators supports folder. * * Return value: a full path as string like 'fldname/varname'. **/TIEXPORT2 char* TICALL tifiles_build_fullname(CalcModel model, char *full_name, const char *fldname, const char *varname){	if (full_name == NULL || fldname == NULL || varname == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return NULL;	}	if (tifiles_has_folder(model)) 	{		if (fldname[0] == 0)		{			sprintf(full_name, "%s//%s", fldname, varname);		}		else		{			strcpy(full_name, varname);		}	}	else	{		strcpy(full_name, varname);	}	return full_name;}
开发者ID:TC01,项目名称:tilibs,代码行数:38,


示例12: tifiles_file_read_flash

/** * tifiles_file_read_flash: * @filename: name of FLASH file to open. * @content: where to store the file content. * * Load the FLASH file into a FlashContent structure. * * Structure content must be freed with #tifiles_content_delete_flash when * no longer used. * * Return value: an error code, 0 otherwise. **/TIEXPORT2 int tifiles_file_read_flash(const char *filename, FlashContent *content){	if (filename == NULL || content == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return ERR_INVALID_FILE;	}#if !defined(DISABLE_TI8X)	if (tifiles_calc_is_ti8x(tifiles_file_get_model(filename)))		return ti8x_file_read_flash(filename, content);	else #endif#if !defined(DISABLE_TI9X)	if (tifiles_calc_is_ti9x(tifiles_file_get_model(filename)) || tifiles_file_is_tib(filename))		return ti9x_file_read_flash(filename, content);	else#endif	if(content->model == CALC_NSPIRE)		return tnsp_file_read_flash(filename, content);	else		return ERR_BAD_CALC;	return 0;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:37,


示例13: tifiles_file_display_regular

/** * tifiles_file_display_regular: * @content: the file content to show. * * Display file content information. * * Return value: an error code, 0 otherwise. **/TIEXPORT2 int TICALL tifiles_file_display_regular(FileContent *content){	if (content == NULL)	{		tifiles_critical("%s(NULL)", __FUNCTION__);		return ERR_INVALID_FILE;	}#if !defined(DISABLE_TI8X)	if (tifiles_calc_is_ti8x(content->model))		return ti8x_content_display_regular(content);	else #endif#if !defined(DISABLE_TI9X)	if (tifiles_calc_is_ti9x(content->model))		return ti9x_content_display_regular(content);	else#endif	if(content->model == CALC_NSPIRE)		return tnsp_content_display_regular(content);	else		return ERR_BAD_CALC;	return 0;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:33,


示例14: tifiles_file_write_regular

/** * tifiles_file_write_regular: * @filename: name of single/group file where to write or NULL. * @content: the file content to write. * @real_fname: pointer address or NULL. Must be freed if needed when no longer needed. * * Write one (or several) variable(s) into a single (group) file. If filename is set to NULL, * the function build a filename from varname and allocates resulting filename in %real_fname. * %filename and %real_filename can be NULL but not both ! * * %real_filename must be freed when no longer used. * * Return value: an error code, 0 otherwise. **/TIEXPORT2 int tifiles_file_write_regular(const char *filename, FileContent *content, char **real_fname){	if (content == NULL || (filename == NULL && real_fname == NULL))	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return ERR_INVALID_FILE;	}#if !defined(DISABLE_TI8X)	if (tifiles_calc_is_ti8x(content->model))		return ti8x_file_write_regular(filename, (Ti8xRegular *)content, real_fname);	else #endif#if !defined(DISABLE_TI9X)	if (tifiles_calc_is_ti9x(content->model))		return ti9x_file_write_regular(filename, (Ti9xRegular *)content, real_fname);	else#endif	if(content->model == CALC_NSPIRE)		return tnsp_file_write_regular(filename, (FileContent *)content, real_fname);	else		return ERR_BAD_CALC;	return 0;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:39,


示例15: tifiles_build_fullname

/** * tifiles_build_fullname: * @model: a calculator model. * @full_name: the buffer where to store the result. * @fldname: the name of folder or "". * @varname: the name of variable * * Build the complete path from folder name and variable name. * Not all of calculators supports folder. * * Return value: a full path as string like 'fldname/varname'. **/char* TICALL tifiles_build_fullname(CalcModel model, char *full_name,				  const char *fldname, const char *varname){	if (full_name == NULL || fldname == NULL || varname == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return NULL;	}	if (tifiles_has_folder(model)) 	{		if (strcmp(fldname, "")) 		{			strcpy(full_name, fldname);			strcat(full_name, "//");			strcat(full_name, varname);		}		else		{			strcpy(full_name, varname);		}	}	else	{		strcpy(full_name, varname);	}	return full_name;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:41,


示例16: tifiles_content_dup_regular

/** * tifiles_content_dup_regular: * * Allocates and copies a new #FileContent structure. * * Return value: none. **/TIEXPORT2 FileContent* TICALL tifiles_content_dup_regular(FileContent *content){	FileContent *dup = NULL;	int i;	if (content != NULL)	{		dup = tifiles_content_create_regular(content->model);		if (dup != NULL)		{			memcpy(dup, content, sizeof(FileContent));			dup->entries = tifiles_ve_create_array(content->num_entries);			if (dup->entries != NULL)			{				for (i = 0; i < content->num_entries; i++) 					dup->entries[i] = tifiles_ve_dup(content->entries[i]);			}		}	}	else	{		tifiles_critical("%s(NULL)", __FUNCTION__);	}	return dup;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:33,


示例17: tnsp_content_display_flash

/** * tnsp_content_display_flash: * @content: a FlashContent structure. * * Display fields of a FlashContent structure. * * Return value: an error code, 0 otherwise. **/int tnsp_content_display_flash(FlashContent *content){	FlashContent *ptr = content;	if (content == NULL)	{		tifiles_critical("%s(NULL)", __FUNCTION__);		return ERR_INVALID_FILE;	}	for (ptr = content; ptr != NULL; ptr = ptr->next)	{		tifiles_info("FlashContent for TI-Nspire: %p", ptr);		tifiles_info("Model:           %02X (%u)", ptr->model, ptr->model);		tifiles_info("Signature:       %s", tifiles_calctype2signature(ptr->model));		tifiles_info("model_dst:       %02X (%u)", ptr->model_dst, ptr->model_dst);		tifiles_info("Revision:        %u.%u", ptr->revision_major, ptr->revision_minor);		tifiles_info("Flags:           %02X", ptr->flags);		tifiles_info("Object type:     %02X", ptr->object_type);		tifiles_info("Date:            %02X/%02X/%02X%02X", ptr->revision_day, ptr->revision_month, ptr->revision_year & 0xff, (ptr->revision_year & 0xff00) >> 8);		tifiles_info("Name:            %s", ptr->name);		tifiles_info("Data type:       OS data");		tifiles_info("Length:          %08X (%i)", ptr->data_length, ptr->data_length);		tifiles_info("Data part:       %p", ptr->data_part);		tifiles_info("Next:            %p", ptr->next);	}	return 0;}
开发者ID:TC01,项目名称:tilibs,代码行数:37,


示例18: tifiles_group_del_file

/** * tifiles_group_del_file: * @src_filename: the file to remove from group file * @dst_filename: the group file * * Search for entry and remove it from file. * * Return value: 0 if successful, an error code otherwise. **/TIEXPORT2 int TICALL tifiles_group_del_file(VarEntry *entry, const char *dst_filename){	CalcModel dst_model;	FileContent* dst_content = NULL;	int ret = 0;	if (entry == NULL || dst_filename == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return ERR_INVALID_FILE;	}	// src can be single/group file and dst must be group file	if(!tifiles_file_is_group(dst_filename))		return -1;	dst_model = tifiles_file_get_model(dst_filename);	dst_content = tifiles_content_create_regular(dst_model);	ret = tifiles_file_read_regular(dst_filename, dst_content);	if(ret) goto tgdf;	tifiles_content_del_entry(dst_content, entry);	tifiles_file_display_regular(dst_content);	ret = tifiles_file_write_regular(dst_filename, dst_content, NULL);	if(ret) goto tgdf;tgdf:	tifiles_content_delete_regular(dst_content);	return ret;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:40,


示例19: tifiles_ungroup_file

/** * tifiles_ungroup_file: * @src_filename: full path of file to ungroup. * @dst_filenames: NULL or the address of a pointer where to store a NULL-terminated  * array of strings which contain the list of ungrouped files. * * Ungroup a TI 'group' file into several files. Resulting files have the * same name as the variable stored within group file. * Beware: there is no existence check; files may be overwritten ! * * %dst_filenames must be freed when no longer used. * * Return value: an error code if unsuccessful, 0 otherwise. **/TIEXPORT2 int TICALL tifiles_ungroup_file(const char *src_filename, char ***dst_filenames){	FileContent *src = NULL;	FileContent **ptr, **dst = NULL;	char *real_name, **p;	int i, n;	int ret;	if (src_filename == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return ERR_INVALID_FILE;	}	if(tifiles_file_get_model(src_filename) == CALC_NSPIRE)		return ERR_BAD_CALC;	// read group file	src = tifiles_content_create_regular(CALC_NONE);	ret = tifiles_file_read_regular(src_filename, src);	if(ret) goto tuf;	// ungroup structure	ret = tifiles_ungroup_content(src, &dst);	if(ret) goto tuf;	// count number of structures and allocates array of strings	for(ptr = dst, n = 0; *ptr != NULL; ptr++, n++);	if(dst_filenames != NULL)		*dst_filenames = (char **)g_malloc((n + 1) * sizeof(char *));	// store each structure content to file	for (ptr = dst, i = 0; *ptr != NULL; ptr++, i++)	{		ret = tifiles_file_write_regular(NULL, *ptr, &real_name);		if(ret) goto tuf;		if(dst_filenames != NULL)			*dst_filenames[i] = real_name;		else			g_free(real_name);	}	// release allocated memory	tifiles_content_delete_regular(src);	tifiles_content_delete_group(dst);	return 0;tuf:	if(dst_filenames != NULL)	{		for(p = *dst_filenames; *p; p++)			g_free(*p);		g_free(p);	}	tifiles_content_delete_regular(src);	tifiles_content_delete_group(dst);	return ret;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:74,


示例20: tifiles_content_del_entry

/** * tifiles_content_del_entry: * @content: a file content (single/group only). * @ve: the entry to remove * * Search for entry name and remove it from file content (not tested !). * * Return value: the number of entries or -1 if not found. **/TIEXPORT2 int TICALL tifiles_content_del_entry(FileContent *content, VarEntry *ve){	int i, j;	if (content != NULL)	{		if (ve == NULL)		{			tifiles_critical("%s: deleting NULL VarEntry ???", __FUNCTION__);			return content->num_entries;		}		// Search for entry		for(i = 0; i < content->num_entries; i++)		{			VarEntry *s = content->entries[i];			if(!strcmp(s->folder, ve->folder) && !strcmp(s->name, ve->name))				break;		}		// Not found ? Exit !		if(i == content->num_entries)			return -1;		// Release		tifiles_ve_delete(content->entries[i]);		// And shift		for(j = i; j < content->num_entries; j++)			content->entries[j] = content->entries[j+1];		content->entries[j] = NULL;		// And resize		content->entries = tifiles_ve_resize_array(content->entries, content->num_entries - 1);		content->num_entries--;		return content->num_entries;	}	else	{		tifiles_critical("%s: content is NULL", __FUNCTION__);		return 0;	}}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:54,


示例21: tifiles_string2vartype

/** * tifiles_string2vartype: * @model: a calculator model. * @s: a type as string (like "REAL"). * * Returns the type of variable. * * Return value: a type ID. **/TIEXPORT2 uint8_t TICALL tifiles_string2vartype(CalcModel model, const char *s){  if (s == NULL)  {    tifiles_critical("%s: invalid string !", __FUNCTION__);    return 0;  }  switch (model)   {#ifndef DISABLE_TI8X  case CALC_TI73:    return ti73_type2byte(s);  case CALC_TI82:    return ti82_type2byte(s);  case CALC_TI83:    return ti83_type2byte(s);  case CALC_TI83P:  case CALC_TI84P:  case CALC_TI84P_USB:    return ti83p_type2byte(s);  case CALC_TI85:    return ti85_type2byte(s);  case CALC_TI86:    return ti86_type2byte(s);#endif#ifndef DISABLE_TI9X  case CALC_TI89:  case CALC_TI89T:  case CALC_TI89T_USB:    return ti89_type2byte(s);  case CALC_TI92:    return ti92_type2byte(s);  case CALC_TI92P:    return ti92p_type2byte(s);  case CALC_V200:    return v200_type2byte(s);  case CALC_NSPIRE:    return nsp_type2byte(s);#endif  default:    tifiles_critical("%s: invalid model argument.", __FUNCTION__);    return 0;  }}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:54,


示例22: tifiles_cert_field_find_path

TIEXPORT2 int TICALL tifiles_cert_field_find_path(const uint8_t *data, uint32_t length, const uint16_t *field_path, uint16_t field_path_len, const uint8_t **contents, uint32_t *field_size){	int ret = 0;	// Initial sanity checks.	if (data == NULL)	{		tifiles_critical("%s: data is NULL", __FUNCTION__);		return ERR_INVALID_PARAM;	}	if (field_path == NULL)	{		tifiles_critical("%s: field_path is NULL", __FUNCTION__);		return ERR_INVALID_PARAM;	}	if (length < 2)	{		tifiles_critical("%s: length is too small to contain a valid cert field", __FUNCTION__);		return ERR_INVALID_PARAM;	}	if (field_path_len == 0)	{		tifiles_warning("%s: field path is empty", __FUNCTION__);		return ERR_INVALID_PARAM;	}	while (field_path_len != 0 && !ret)	{		ret = tifiles_cert_field_find(data, length, *field_path, &data, &length);		//tifiles_warning("%p/t%u", data, length);		field_path++;		field_path_len--;		if (contents != NULL)		{			*contents = data;		}		if (field_size != NULL)		{			*field_size = length;		}	}	return ret;}
开发者ID:TC01,项目名称:tilibs,代码行数:44,


示例23: ti9x_file_write_backup

/** * ti9x_file_write_backup: * @filename: name of backup file where to write. * @content: the file content to write. * * Write content to a backup file. * * Return value: an error code, 0 otherwise. **/int ti9x_file_write_backup(const char *filename, Ti9xBackup *content){	FILE *f;	if (filename == NULL || content == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return ERR_INVALID_FILE;	}	f = g_fopen(filename, "wb");	if (f == NULL) 	{		tifiles_info("Unable to open this file: %s", filename);		return ERR_FILE_OPEN;	}	if (fwrite_8_chars(f, tifiles_calctype2signature(content->model)) < 0) goto tfwb;	if (fwrite(fsignature, 1, 2, f) < 2) goto tfwb;	if (fwrite_8_chars(f, "") < 0) goto tfwb;	if (fwrite_n_bytes(f, 40, (uint8_t *)content->comment) < 0) goto tfwb;	if (fwrite_word(f, 1) < 0) goto tfwb;	if (fwrite_long(f, 0x52) < 0) goto tfwb;	if (fwrite_8_chars(f, content->rom_version) < 0) goto tfwb;	if (fwrite_word(f, content->type) < 0) goto tfwb;	if (fwrite_word(f, 0) < 0) goto tfwb;	if (fwrite_long(f, content->data_length + 0x52 + 2) < 0) goto tfwb;	if (fwrite_word(f, 0x5aa5) < 0) goto tfwb;	if (fwrite(content->data_part, 1, content->data_length, f) < content->data_length) goto tfwb;	content->checksum = tifiles_checksum(content->data_part, content->data_length);	if (fwrite_word(f, content->checksum) < 0) goto tfwb;	fclose(f);	return 0;tfwb:	// release on exit	tifiles_critical("%s: error writing file %s", __FUNCTION__, filename);	fclose(f);	return ERR_FILE_IO;}
开发者ID:TC01,项目名称:tilibs,代码行数:50,


示例24: tifiles_content_dup_flash

/** * tifiles_content_dup_flash: * * Allocates and copies a new FlashContent structure. * * Return value: none. **/TIEXPORT2 FlashContent* TICALL tifiles_content_dup_flash(FlashContent *content){	FlashContent *dup = NULL;	FlashContent *p, *q;	if (content != NULL)	{		dup = tifiles_content_create_flash(content->model);		if (dup != NULL)		{			for(p = content, q = dup; p; p = p->next, q = q->next)			{				memcpy(q, p, sizeof(FlashContent));				// TI9x part				if(tifiles_calc_is_ti9x(content->model))				{					if(p->data_part)					{						q->data_part = (uint8_t *)g_malloc0(p->data_length+1);						memcpy(q->data_part, p->data_part, p->data_length+1);					}				}				// TI8x part				if(tifiles_calc_is_ti8x(content->model))				{					int i;					// copy pages					q->pages = tifiles_fp_create_array(p->num_pages);					for(i = 0; i < content->num_pages; i++)					{						q->pages[i] = (FlashPage *)g_malloc0(sizeof(FlashPage));						memcpy(q->pages[i], p->pages[i], sizeof(FlashPage));						q->pages[i]->data = (uint8_t *) g_malloc0(p->pages[i]->size);						memcpy(q->pages[i]->data, p->pages[i]->data, p->pages[i]->size);					}				}				if(p->next)					q->next = tifiles_content_create_flash(p->model);			}		}	}	else	{		tifiles_critical("%s(NULL)", __FUNCTION__);	}	return dup;}
开发者ID:debrouxl,项目名称:tilp-libtifiles,代码行数:60,


示例25: tnsp_file_write_regular

/** * tnsp_file_write_regular: * @filename: name of file where to write or NULL. * @content: the file content to write. * @real_filename: pointer address or NULL. Must be freed if needed when no longer needed. * * Write one variable into a single file. If filename is set to NULL, * the function build a filename from varname and allocates resulting filename in %real_fname. * %filename and %real_filename can be NULL but not both ! * * %real_filename must be freed when no longer used. * * Return value: an error code, 0 otherwise. **/int tnsp_file_write_regular(const char *fname, FileContent *content, char **real_fname){	FILE *f;	char *filename = NULL;	VarEntry *entry;	if (content->entries == NULL || content->entries[0] == NULL)	{		tifiles_warning("%s: skipping content with NULL content->entries or content->entries[0]", __FUNCTION__);		return ERR_FILE_IO;	}	if (fname != NULL) 	{		filename = g_strdup(fname);		if (filename == NULL)		{			return ERR_MALLOC;		}	}	else	{		filename = tifiles_build_filename(content->model_dst, content->entries[0]);		if (real_fname != NULL)		{			*real_fname = g_strdup(filename);		}	}	f = g_fopen(filename, "wb");	if (f == NULL) 	{		tifiles_info( "Unable to open this file: %s", filename);		g_free(filename);		return ERR_FILE_OPEN;	}	entry = content->entries[0];	if(fwrite(entry->data, 1, entry->size, f) < entry->size)	{		goto tfwr;	}	g_free(filename);	fclose(f);	return 0;tfwr:  // release on exit	tifiles_critical("%s: error writing file %s", __FUNCTION__, filename);	g_free(filename);	fclose(f);	return ERR_FILE_IO;}
开发者ID:TC01,项目名称:tilibs,代码行数:67,


示例26: tifiles_content_add_entry

/** * tifiles_content_add_entry: * @content: a file content (single/group only). * @ve: the entry to add * * Adds the entry to the file content and updates internal structures. * Beware: the entry is not duplicated. * * Return value: the number of entries. **/TIEXPORT2 int TICALL tifiles_content_add_entry(FileContent *content, VarEntry *ve){	if (content != NULL)	{		content->entries = tifiles_ve_resize_array(content->entries, content->num_entries + 1);		if (ve == NULL)		{			tifiles_critical("%s: adding NULL VarEntry ???", __FUNCTION__);		}		content->entries[content->num_entries] = ve;		content->num_entries++;		return content->num_entries;	}	else	{		tifiles_critical("%s: content is NULL", __FUNCTION__);	}	return 0;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:31,


示例27: tifiles_group_files

/** * tifiles_group_files: * @src_filenames: a NULL-terminated array of strings (list of files to group). * @dst_filename: the filename where to store the group. * * Group several TI files into a single one (group file). * * Return value: an error code if unsuccessful, 0 otherwise. **/TIEXPORT2 int TICALL tifiles_group_files(char **src_filenames, const char *dst_filename){	int i, n;	FileContent **src = NULL;	FileContent *dst = NULL;	int ret = 0;	if (src_filenames == NULL || dst_filename == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return ERR_INVALID_FILE;	}	if(tifiles_file_get_model(src_filenames[0]) == CALC_NSPIRE)		return ERR_BAD_CALC;	// counter number of files to group	for (n = 0; src_filenames[n] != NULL; n++);	// allocate space for that	src = (FileContent **)g_malloc0((n + 1) * sizeof(FileContent *));	if (src == NULL)		return ERR_MALLOC;	// allocate each structure and load file content	for (i = 0; i < n; i++)	{		src[i] = (FileContent *)g_malloc0(sizeof(FileContent));		if (src[i] == NULL)			return ERR_MALLOC;		ret = tifiles_file_read_regular(src_filenames[i], src[i]);		if(ret) goto tgf;	}	src[i] = NULL;	// group the array of structures	ret = tifiles_group_contents(src, &dst);	if(ret) goto tgf;	// write grouped file	ret = tifiles_file_write_regular(dst_filename, dst, NULL);	if(ret) goto tgf;	// release allocated memorytgf:	tifiles_content_delete_group(src);	tifiles_content_delete_regular(dst);	return 0;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:60,


示例28: tifiles_get_varname

/** * tifiles_get_varname: * @full_name: a calculator path such as 'fldname/varname'. * * Returns the name of the variable. * * Return value: varname as string. It should not be modified (static). **/char *TICALL tifiles_get_varname(const char *full_name){	if (full_name != NULL)	{		char *bs = strchr(full_name, '//');		if (bs == NULL)			return (char *) full_name;		else			return (++bs);	}	tifiles_critical("%s(NULL)", __FUNCTION__);	return NULL;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:22,


示例29: tifiles_group_contents

/** * tifiles_group_contents: * @src_contents: a pointer on an array of #FileContent structures. The array must be NULL-terminated. * @dst_content: the address of a pointer. This pointer will see the allocated group file. * * Must be freed when no longer needed as well as the content of each #FileContent structure * (use #tifiles_content_delete_regular as usual). * * Group several #FileContent structures into a single one. * * Return value: an error code if unsuccessful, 0 otherwise. **/TIEXPORT2 int TICALL tifiles_group_contents(FileContent **src_contents, FileContent **dst_content){	FileContent *dst;	int i, j, n;	if (src_contents == NULL || dst_content == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return ERR_INVALID_FILE;	}	for (n = 0; src_contents[n] != NULL; n++)	{		if(src_contents[n]->model == CALC_NSPIRE)		{			return ERR_BAD_CALC;		}	}	dst = (FileContent *)g_malloc0(sizeof(FileContent));	if (dst == NULL)		return ERR_MALLOC;	if (n > 0)	{		memcpy(dst, src_contents[0], sizeof(FileContent));	}	dst->num_entries = n;	dst->entries = g_malloc0((n + 1) * sizeof(VarEntry*));	if (dst->entries == NULL)	{		free(dst);		return ERR_MALLOC;	}	for (i = 0; i < n; i++)	{		FileContent *src = src_contents[i];		for(j = 0; j < src->num_entries; j++)			dst->entries[i] = tifiles_ve_dup(src->entries[j]);	}	*dst_content = dst;	return 0;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:60,


示例30: tifiles_build_filename

/** * tifiles_build_filename: * @model: a calculator model. * @ve: a #VarEntry structure. * * Build a valid filename from folder name, variable name and variable type. * Example: real number x on TI89 in the 'main' folder will give 'main.x.89e'. * Note: this function is useable with FLASH apps, too (but you have to fill the #VarEntry structure yourself). * * Return value: a newly allocated string which must be freed when no longer used. **/TIEXPORT2 char* TICALL tifiles_build_filename(CalcModel model, const VarEntry *ve){	char *filename;	if (ve == NULL)	{		tifiles_critical("%s: an argument is NULL", __FUNCTION__);		return NULL;	}	if(tifiles_calc_is_ti8x(model) || !strcmp(ve->folder, "") || 		(ve->type == tifiles_flash_type(model)))	{		char *part2;		const char *part3;		char *tmp;		part2 = ticonv_varname_to_filename(model, ve->name, ve->type);		part3 = tifiles_vartype2fext(model, ve->type);		tmp = g_strconcat(part2, ".", part3, NULL);		g_free(part2);		filename = g_strdup(tmp);		g_free(tmp);	}	else	{		char *part1;		char *part2;		const char *part3;		char *tmp;		part1 = ticonv_varname_to_filename(model, ve->folder, -1);		part2 = ticonv_varname_to_filename(model, ve->name, ve->type);		part3 = tifiles_vartype2fext(model, ve->type);		tmp = g_strconcat(part1, ".", part2, ".", part3, NULL);		g_free(part1);		g_free(part2);		filename = strdup(tmp);		g_free(tmp);	}	return filename;}
开发者ID:TI8XEmulator,项目名称:graph89,代码行数:59,



注:本文中的tifiles_critical函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ tile函数代码示例
C++ tidy_up_string函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。