Files correlati : Ricompilazione Demo : [ ] Commento : Modifiche di marco git-svn-id: svn://10.65.10.50/trunk@8858 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			167 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#include "defines.h"
 | 
						|
 | 
						|
#define LF 10
 | 
						|
#define CR 13
 | 
						|
 | 
						|
static char __stringa[64];
 | 
						|
 | 
						|
char* itoa(int i)
 | 
						|
{
 | 
						|
  sprintf(__stringa, "%d", i);
 | 
						|
  return __stringa;
 | 
						|
}
 | 
						|
 | 
						|
char* ltoa(long l)
 | 
						|
{
 | 
						|
  sprintf(__stringa, "%ld", l);
 | 
						|
  return __stringa;
 | 
						|
}
 | 
						|
 | 
						|
char* dtoa(double d)
 | 
						|
{
 | 
						|
  sprintf(__stringa, "%6.2f", d);
 | 
						|
  return __stringa;
 | 
						|
}
 | 
						|
 | 
						|
void getword(char *word, char *line, char stop) {
 | 
						|
    int x = 0,y;
 | 
						|
 | 
						|
    for(x=0;((line[x]) && (line[x] != stop));x++)
 | 
						|
        word[x] = line[x];
 | 
						|
 | 
						|
    word[x] = '\0';
 | 
						|
    if(line[x]) ++x;
 | 
						|
    y=0;
 | 
						|
 | 
						|
    while((line[y++] = line[x++]));
 | 
						|
}
 | 
						|
 | 
						|
char *makeword(char *line, char stop) {
 | 
						|
    int x = 0,y;
 | 
						|
    char *word = (char *) malloc(sizeof(char) * (strlen(line) + 1));
 | 
						|
 | 
						|
    for(x=0;((line[x]) && (line[x] != stop));x++)
 | 
						|
        word[x] = line[x];
 | 
						|
 | 
						|
    word[x] = '\0';
 | 
						|
    if(line[x]) ++x;
 | 
						|
    y=0;
 | 
						|
 | 
						|
    while((line[y++] = line[x++]));
 | 
						|
    return word;
 | 
						|
}
 | 
						|
 | 
						|
char *fmakeword(FILE *f, char stop, int *cl) {
 | 
						|
    int wsize;
 | 
						|
    char *word;
 | 
						|
    int ll;
 | 
						|
 | 
						|
    wsize = 102400;
 | 
						|
    ll=0;
 | 
						|
    word = (char *) malloc(sizeof(char) * (wsize + 1));
 | 
						|
 | 
						|
    while(1) {
 | 
						|
        word[ll] = (char)fgetc(f);
 | 
						|
        if(ll==wsize) {
 | 
						|
            word[ll+1] = '\0';
 | 
						|
            wsize+=102400;
 | 
						|
            word = (char *)realloc(word,sizeof(char)*(wsize+1));
 | 
						|
        }
 | 
						|
        --(*cl);
 | 
						|
        if((word[ll] == stop) || (feof(f)) || (!(*cl))) {
 | 
						|
            if(word[ll] != stop) ll++;
 | 
						|
            word[ll] = '\0';
 | 
						|
            return word;
 | 
						|
        }
 | 
						|
        ++ll;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
char x2c(char *what) {
 | 
						|
    register char digit;
 | 
						|
 | 
						|
    digit = (what[0] >= 'A' ? ((what[0] & 0xdf) - 'A')+10 : (what[0] - '0'));
 | 
						|
    digit *= 16;
 | 
						|
    digit += (what[1] >= 'A' ? ((what[1] & 0xdf) - 'A')+10 : (what[1] - '0'));
 | 
						|
    return(digit);
 | 
						|
}
 | 
						|
 | 
						|
void unescape_url(char *url) {
 | 
						|
    register int x,y;
 | 
						|
 | 
						|
    for(x=0,y=0;url[y];++x,++y) {
 | 
						|
        if((url[x] = url[y]) == '%') {
 | 
						|
            url[x] = x2c(&url[y+1]);
 | 
						|
            y+=2;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    url[x] = '\0';
 | 
						|
}
 | 
						|
 | 
						|
void plustospace(char *str) {
 | 
						|
    register int x;
 | 
						|
 | 
						|
    for(x=0;str[x];x++) if(str[x] == '+') str[x] = ' ';
 | 
						|
}
 | 
						|
 | 
						|
int rind(char *s, char c) {
 | 
						|
    register int x;
 | 
						|
    for(x=strlen(s) - 1;x != -1; x--)
 | 
						|
        if(s[x] == c) return x;
 | 
						|
    return -1;
 | 
						|
}
 | 
						|
 | 
						|
int getline(char *s, int n, FILE *f) {
 | 
						|
    register int i=0;
 | 
						|
 | 
						|
    while(1) {
 | 
						|
        s[i] = (char)fgetc(f);
 | 
						|
 | 
						|
        if(s[i] == CR)
 | 
						|
            s[i] = fgetc(f);
 | 
						|
 | 
						|
        if((s[i] == 0x4) || (s[i] == LF) || (i == (n-1))) {
 | 
						|
            s[i] = '\0';
 | 
						|
            return (feof(f) ? 1 : 0);
 | 
						|
        }
 | 
						|
        ++i;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
void send_fd(FILE *f, FILE *fd)
 | 
						|
{
 | 
						|
 | 
						|
    char c;
 | 
						|
 | 
						|
    while (1) {
 | 
						|
        c = fgetc(f);
 | 
						|
        if(feof(f))
 | 
						|
            return;
 | 
						|
        fputc(c,fd);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
off_t fsize(const char* n)
 | 
						|
{
 | 
						|
  struct stat statbuf;
 | 
						|
  stat(n, &statbuf);
 | 
						|
  return statbuf.st_size;
 | 
						|
}
 | 
						|
 | 
						|
void trim(String& s)
 | 
						|
{
 | 
						|
  const int l = s.length();
 | 
						|
  int i,f,n;
 | 
						|
  f = 0;
 | 
						|
  n = 0;
 | 
						|
  for (i = l-1; i>=0; i--)
 | 
						|
    if (s[i] != ' ')
 | 
						|
      break;
 | 
						|
  if (i >= 0 && i < l-1)
 | 
						|
  {
 | 
						|
    f = i+1;
 | 
						|
    n = l-i-1;
 | 
						|
  }
 | 
						|
  s.del(f, n);
 | 
						|
}
 |