/**********************************************************************
This file is part of Crack dot Com's free source code release of Golgotha.
for information about compiling & licensing issues visit this URL
 If that doesn't help, contact Jonathan Clark at 
  golgotha_source@usa.net (Subject should have "GOLG" in it) 
***********************************************************************/

#include "url.hh"
#include "network/net_sock.hh"
#include 
#include 

int fb_strneq(char *n1, char *n2, int t)
{
  for (int i=0; iname_to_address(server);
  
  if (!addr)
    return 0;
  
  addr->set_port(port);

  i4_net_socket *sock=prot->connect(addr, I4_CONTINOUS_STREAM);
  delete addr;

  if (sock)
    sock->printf("GET /%s HTTP/1.0\n\n",page);
  
  return sock;
}



fb_url::fb_url(char *name, fb_url *server_from)
{
  char server[256], page[256], buf[256];
  int port;
  fb_url_type type;

  // split the name up
  fb_split_url(name, type, server, port, page);

  // if no server name in url try to use the current server
  if (!server[0] && server_from)
  {
    fb_url_type type2;
    fb_split_url(server_from->full_name, type2, server, port, page);

    if (name[0]!='/')
    {
      if (page[strlen(page)-1]!='/')
        strcat(page,"/");
      
      sprintf(buf,"http://%s:%d/%s%s",server, port, page, name);
    }
    else if (name[0]!='/')
      sprintf(buf,"http://%s:%d/%s",server, port, name);
    else
      sprintf(buf,"http://%s:%d/%s",server, port, name);

    name=buf;    
  }  
  
  int l=strlen(name)+1;
  full_name=(char *)i4_malloc(l,"");
  strcpy(full_name, name);    
}


char *fb_url::get_extension()
{
  char *ext=0;
  for (char *c=full_name; *c; c++)
    if (*c=='.')   
      ext=c;
    else if (*c=='/' || *c=='\\')
      ext=0;
  
  return ext;
}

char *fb_url::get_filename()
{
  // extract the filename
  char *c=full_name, *start=0;
  for (; *c; c++)
    if (*c=='/') start=c;
  if (*start=='/') start++;
  return start;
}