+++ /dev/null
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdarg.h>
-#include <ctype.h>
-
-#include "io_lib_header.h"
-#include "util_lib_header.h"
-#include "define_header.h"
-
-
-/*
-* Prototypes
-*/
-
-
-void fatal(char *,...);
-void error(char *,...);
-void warning(char *,...);
-char *rtrim(char *);
-char *blank_to_(char *); /* DES change blanks to _ */
-char *upstr(char *);
-char *lowstr(char *);
-void getstr(char *,char *);
-double getreal(char *,double,double,double);
-int getint(char *,int,int,int);
-void do_system(void);
-Boolean linetype(char *,char *);
-Boolean blankline(char *);
-void get_path(char *,char *);
-
-/*
-* ckalloc()
-*
-* Tries to allocate "bytes" bytes of memory. Exits program if failed.
-* Return value:
-* Generic pointer to the newly allocated memory.
-*/
-
-void *ckalloc(size_t bytes)
-{
- register void *ret;
- extern void *vcalloc (size_t nelem, size_t elsize);
-
- if( (ret = vcalloc(bytes, sizeof(char))) == NULL)
-/*
- if( (ret = vmalloc(bytes)) == NULL)
-*/
- fatal("Out of memory\n");
- else
- return ret;
- return ret;
-}
-
-/*
-* ckvrealloc()
-*
-* Tries to vreallocate "bytes" bytes of memory. Exits program if failed.
-* Return value:
-* Generic pointer to the re-allocated memory.
-*/
-
-void *ckvrealloc(void *ptr, size_t bytes)
-{
- register void *ret;
- extern void *vrealloc (void *ptr, size_t size);
-
- if( (ret = vrealloc(ptr, bytes)) == NULL)
- fatal("Out of memory\n");
- else
- return ret;
- return ret;
-}
-
-/*
-* ckfree()
-*
-* Tries to free memory allocated by ckalloc.
-* Return value:
-* None.
-*/
-
-void ckfree(void *ptr)
-{
- vfree(ptr);
-}
-
-
-/*
-* fatal()
-*
-* Prints error msg to stderr and exits.
-* Variadic parameter list can be passed.
-*
-* Return values:
-* none
-*/
-
-void fatal( char *msg,...)
-{
- va_list ap;
-
- va_start(ap,msg);
- fprintf(stderr,"\n\nFATAL ERROR: ");
- vfprintf(stderr,msg,ap);
- fprintf(stderr,"\n\n");
- va_end(ap);
- myexit(EXIT_FAILURE);
-}
-
-/*
-* error()
-*
-* Prints error msg to stderr.
-* Variadic parameter list can be passed.
-*
-* Return values:
-* none
-*/
-
-void error( char *msg,...)
-{
- va_list ap;
-
- va_start(ap,msg);
- fprintf(stderr,"\n\nERROR: ");
- vfprintf(stderr,msg,ap);
- fprintf(stderr,"\n\n");
- va_end(ap);
-}
-
-/*
-* warning()
-*
-* Prints warning msg to stderr.
-* Variadic parameter list can be passed.
-*
-* Return values:
-* none
-*/
-
-void warning( char *msg,...)
-{
- va_list ap;
-
- va_start(ap,msg);
- fprintf(stderr,"\n\nWARNING: ");
- vfprintf(stderr,msg,ap);
- fprintf(stderr,"\n\n");
- va_end(ap);
-}
-
-
-/*
-* rtrim()
-*
-* Removes trailing blanks from a string
-*
-* Return values:
-* Pointer to the processed string
-*/
-
-char * rtrim(char *str)
-{
- register int p;
-
- p = strlen(str) - 1;
-
- while ( isspace(str[p]) )
- p--;
-
- str[p + 1] = EOS;
-
- return str;
-}
-
-
-/*
-* blank_to_()
-*
-* Replace blanks in a string with underscores
-*
-* Also replaces , ; : ( or ) with _
-*
-* Return value:
-* Pointer to the processed string
-*/
-
-char * blank_to_(char *str)
-{
- int i,p;
-
-
- p = strlen(str) - 1;
- for(i=0;i<=p;i++)
- {
- if( strrchr(";,():",str[i]))str[i]='_';
- else if (isspace(str[i]));
- }
- return str;
-}
-
-
-/*
-* upstr()
-*
-* Converts string str to uppercase.
-* Return values:
-* Pointer to the converted string.
-*/
-
-char * upstr(char *str)
-{
- register char *s = str;
-
- while( (*s = toupper(*s)) )
- s++;
-
- return str;
-}
-
-/*
-* lowstr()
-*
-* Converts string str to lower case.
-* Return values:
-* Pointer to the converted string.
-*/
-
-char * lowstr(char *str)
-{
- register char *s = str;
-
- while( (*s = tolower(*s)) )
- s++;
-
- return str;
-}
-
-void getstr(char *instr,char *outstr)
-{
- fprintf(stdout,"%s: ",instr);
- fgets(outstr, 100, stdin);
-}
-
-double getreal(char *instr,double minx,double maxx,double def)
-{
- int status;
- double ret;
- char line[MAXLINE];
-
- while(TRUE) {
- fprintf(stdout,"%s (%.1lf-%.1lf) [%.1lf]: ",instr,minx,maxx,def);
- fgets(line, MAXLINE, stdin);
- status=sscanf(line,"%lf",&ret);
- if(status == EOF) return def;
- if(ret>maxx) {
- fprintf(stderr,"ERROR: Max. value=%.1lf\n\n",maxx);
- continue;
- }
- if(ret<minx) {
- fprintf(stderr,"ERROR: Min. value=%.1lf\n\n",minx);
- continue;
- }
- break;
- }
- return ret;
-}
-
-
-int getint(char *instr,int minx,int maxx, int def)
-{
- int ret,status;
- char line[MAXLINE];
-
- while(TRUE) {
- fprintf(stdout,"%s (%d..%d) [%d]: ",
- instr,(pint)minx,(pint)maxx,(pint)def);
- fgets(line, MAXLINE, stdin);
- status=sscanf(line,"%d",&ret);
- if(status == EOF) return def;
- if(ret>maxx) {
- fprintf(stderr,"ERROR: Max. value=%d\n\n",(pint)maxx);
- continue;
- }
- if(ret<minx) {
- fprintf(stderr,"ERROR: Min. value=%d\n\n",(pint)minx);
- continue;
- }
- break;
- }
- return ret;
-}
-
-void do_system()
-{
- char line[MAXLINE];
-
- getstr("\n\nEnter system command",line);
- if(*line != EOS)
- system(line);
- fprintf(stdout,"\n\n");
-}
-
-
-Boolean linetype(char *line,char *code)
-{
- return( strncmp(line,code,strlen(code)) == 0 );
-}
-
-Boolean blankline(char *line)
-{
- int i;
-
- for(i=0;line[i]!='\n' && line[i]!=EOS;i++) {
- if( isdigit(line[i]) ||
- isspace(line[i]) ||
- (line[i] == '*') ||
- (line[i] == '.'))
- ;
- else
- return FALSE;
- }
- return TRUE;
-}
-
-
-void get_path(char *str,char *path)
-{
- register int i;
-
- strcpy(path,str);
- for(i=strlen(path)-1;i>-1;--i) {
- if(str[i]==DIRDELIM) {
- i = -1;
- break;
- }
- if(str[i]=='.') break;
- }
- if(i<0)
- strcat(path,".");
- else
- path[i+1]=EOS;
-}
-/******************************COPYRIGHT NOTICE*******************************/
-/*© Centro de Regulacio Genomica */
-/*and */
-/*Cedric Notredame */
-/*Fri Feb 18 08:27:45 CET 2011 - Revision 596. */
-/*All rights reserved.*/
-/*This file is part of T-COFFEE.*/
-/**/
-/* T-COFFEE is free software; you can redistribute it and/or modify*/
-/* it under the terms of the GNU General Public License as published by*/
-/* the Free Software Foundation; either version 2 of the License, or*/
-/* (at your option) any later version.*/
-/**/
-/* T-COFFEE is distributed in the hope that it will be useful,*/
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of*/
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the*/
-/* GNU General Public License for more details.*/
-/**/
-/* You should have received a copy of the GNU General Public License*/
-/* along with Foobar; if not, write to the Free Software*/
-/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*/
-/*............................................... |*/
-/* If you need some more information*/
-/* cedric.notredame@europe.com*/
-/*............................................... |*/
-/**/
-/**/
-/* */
-/******************************COPYRIGHT NOTICE*******************************/