⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cnv.c

📁 This contains Graphic gems code
💻 C
字号:
/* * This software is copyrighted as noted below.  It may be freely copied, * modified, and redistributed, provided that the copyright notice is * preserved on all copies. * * There is no warranty or other guarantee of fitness for this software, * it is provided solely "as is".  Bug reports or fixes may be sent * to the author, who may or may not act on them as he desires. * * You may not include this software in a program or other software product * without supplying the source, or without informing the end-user that the * source is available for no extra charge. * * If you modify this software, you should include a notice giving the * name of the person performing the modification, the date of modification, * and the reason for such modification. *//* * cnv.c - select the read/write function using the file name ( !!! ). * * Author:      Raul Rivero *              Mathematics Dept. *              University of Oviedo * Date:        Sat Feb 6 1993 * Copyright (c) 1993, Raul Rivero * */ /*  * The algorithm is not too acuratte, but this is to me a  * curiosity not a vital part of LUG.  *  * If u wanna fix the problems, please do it ( and thank u ).  */#include "lug.h"#include "lugfnts.h"/* * Ok, we recognize these extensions ...  */static char *lug_ff_ext[] = {                        ".tga"};/* * Read file functions. */static int (*read_lug_fnts[])() = {                        read_tga_file};read_lug_file( name, bitmap )char *name;bitmap_hdr *bitmap;{  ifunptr read_file;  /*   * Get the correct funtion to read that file ( please, remember   * tha we use the file extension and this is not perfect ).   */  read_file = get_readlug_function( name );  /* Ok, do it. */  read_file( name, bitmap );}ifunptr get_readlug_function( str )char *str;{  ifunptr ptr;  int value;  /* Get the correct function for reading */  ptr = read_lug_fnts[ value = get_index_function(str) ];  return ptr;}get_index_function( str )char *str;{  char dup[132];  char *ptr;  int len = strlen( str );  int indexx;  /* Duplicates the string */  strcpy( dup, str );  /* Check if exists the '.Z' extension ( and discard it ) */  if ( dup[len-2] == '.' && dup[len-1] == 'Z' )    dup[len-2] = 0;  while ( ptr = strrchr( dup, '.' ) ) {    /*     * If the extension exists then we return the index     * to the read/write function else continue ( and     * disard the extension ).     */    if ( (indexx = get_real_index_function( ptr )) != -1 )      return indexx;    else ptr[0] = 0;  }  return DEFAULT_FORMAT;}get_real_index_function( str )char *str;{  register int i = 0;  while ( lug_ff_ext[i] ) {    if ( strstr( str, lug_ff_ext[i] ) )      return i;    i++;  }  return -1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -