/* 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*/ }
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; }
/* 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; }
/* 34*/ STRING * /* 34*/ FileName_slash_convert(STRING *FileName_p) /* 34*/ { /* 34*/ return str_substitute(FileName_p, m2runtime_CHR(92), m2runtime_CHR(47)); /* 38*/ }