Esempio n. 1
0
/* 45*/ STRING *
/* 45*/ Namespace_CheckBareID(STRING *Namespace_id)
/* 45*/ {
/* 45*/ 	if( Namespace_isIdentifier(Namespace_id) ){
/* 46*/ 		return Namespace_id;
/* 48*/ 	}
/* 48*/ 	Scanner_Error((STRING *) INTSTR(\0,\0,\0,\0)INTSTR(\57,\0,\0,\0)"qualified identifier not allowed in declaration");
/* 49*/ 	return str_substitute(Namespace_id, m2runtime_CHR(92), m2runtime_CHR(95));
/* 53*/ }
Esempio n. 2
0
int
main(void)
{
  char *s = "HELLO:$HOME|ASDF!$HOME%QWER";
  int len = strlen(s);

  char *src;
  size_t size = len + 1;

  src = strdup(s);
  //memset(src, '.', size);
  //strcpy(src, s);

  str_substitute(&src, &size, "$HOME", "oacewer");

  return 0;
}
Esempio n. 3
0
/* Tribuneshot : un chouette plateau de fruits de mer ;) */
int
pp_boardshot_kikoooo(Dock *dock, int save_all, int overwrite, int use_js) 
{
  Pinnipede *pp = dock->pinnipede;
  Boards *boards = dock->sites->boards;
  char *file_name;
  FILE *file;
  time_t time_shot;
  int file_exist,j;
  board_msg_info *msg;
  char *cssfname, *shortcssfname;

  file_name = str_substitute(Prefs.board_scrinechote, "~", getenv("HOME"));
  if (strlen(file_name)==0) return 1;
  file = fopen( file_name, "r");
  file_exist = (file!=NULL);
  if ( file_exist ) fclose( file ); 
  

  file = fopen( file_name, overwrite ? "w" : "a");
  if ( ! file ) {
    char errmsg[512];
    snprintf(errmsg, 512, _("Error while opening %s\n"), file_name);
    msgbox_show(dock, errmsg);
    free(file_name);
    return -1;
  }

  cssfname = strdup(file_name);
  {
    char *tmp;
    char *p = cssfname + strlen(cssfname)-1;
    while (p > cssfname && *p != '.' && *p != '/') p--;
    if (*p == '.') *p = 0;
    tmp = str_printf("%s.css", cssfname); free(cssfname);
    cssfname = tmp;
  }
  shortcssfname = strdup(cssfname);
  {
    char *pp;
    char *p = shortcssfname + strlen(shortcssfname)-1;
    while (p > shortcssfname && (*p == '/')) p--;
    pp = p;
    while (p > shortcssfname && *p != '/') p--;
    if (*p == '/') p++;
    if (strlen(p)) {
      *(pp+1) = 0;
      pp = shortcssfname;
      shortcssfname = strdup(p); free(pp);
    }
  }

  if (!file_exist || overwrite) {
    fprintf(file, 
	    "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"
	    "<html><head><title>Scrinechote tribune</title>"
	    "<link rel=\"stylesheet\" type=\"text/css\" href=\"%s\" >"
	    "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-15\">"
	    "</head>", shortcssfname);
    fprintf(file, "<body>\n");
    if (use_js) { /* g honte */
      fprintf(file,
	      "<script language=\"JavaScript\" type=\"text/javascript\">\n"
	      "function h(id) {\n"
	      "document.getElementById(id).style.background=\"#%06x\";\n}\n"
	      "function u(id,c)\n{"
	      "document.getElementById(id).style.background=c;\n}\n"
	      "</script>\n", Prefs.pp_emph_color.opaque);
    }
  }
  
  time( &time_shot );
  fprintf( file, "<br><br><center><h2> *** Scrinechote - %s *** </h2></center><br>", ctime( &time_shot ) );
  // Légende des couleurs
  for (j = 0; j < MAX_SITES; j++) {
    if (Prefs.site[j] && Prefs.site[j]->check_board) {
      char *site_name = Prefs.site[j]->site_name;
      int i, in_tabs = 0;
      for (i=0; i < pp->nb_tabs; i++) 
	if (pp->tabs[i].site->prefs == Prefs.site[j])
	  in_tabs = pp->tabs[i].selected;
      if (save_all || in_tabs)
	fprintf( file, "<span class=\"%s-msg\"> %s </span>", site_name, site_name);
    }
  }
  fprintf( file, "<table>");
  
  if (save_all) {
    msg = boards->first;
  } else {
    id_type id = get_first_id_filtered(boards, &pp->filter);
    msg = boards_find_id(boards, id);
  }
  while ( msg ) {
    pp_boardshot_save_msg(boards, msg, file, use_js);
    if (save_all) { 
      msg = msg->g_next;
    } else {
      get_next_id_filtered(boards, msg->id, &msg, &pp->filter);
    }
  }
  
  fprintf( file, "</table><br>\n");
  fclose( file);
  
  {
    char infomsg[512];
    snprintf(infomsg,512,"Scrinechote of the board (%s and %s) saved at %s", file_name, cssfname, ctime(&time_shot));
    msgbox_show(dock, infomsg);
  }
  // NEWSHIFT On créé le css
  pp_boardshot_css_file(cssfname);

  free(file_name);
  free(cssfname);
  return 0;
}
Esempio n. 4
0
/* 34*/ STRING *
/* 34*/ FileName_slash_convert(STRING *FileName_p)
/* 34*/ {
/* 34*/ 	return str_substitute(FileName_p, m2runtime_CHR(92), m2runtime_CHR(47));
/* 38*/ }