static int VarsCommand (vlc_object_t *obj, char const *cmd, vlc_value_t oldval, vlc_value_t newval, void *data) { void *p; (void) cmd; (void) oldval; (void) data; if (sscanf (newval.psz_string, "%p", &p) == 1) { p = ObjectExists (obj, p); if (p == NULL) { msg_Err (obj, "no such object: %s", newval.psz_string); return VLC_ENOOBJ; } obj = p; } else vlc_object_hold (obj); PrintObject (obj, ""); DumpVariables (obj); vlc_object_release (obj); return VLC_SUCCESS; }
void DumpConfig(char *name) { FILE *f; char *outfile, *newlines = "\n"; if (cfg_use_home.integer) // homedir outfile = va("%s/%s/%s", com_homedir, (strcmp(com_gamedirfile, "qw") == 0 || !cfg_use_gamedir.integer) ? "" : com_gamedirfile, name); else // basedir outfile = va("%s/%s/configs/%s", com_basedir, (strcmp(com_gamedirfile, "qw") == 0 || !cfg_use_gamedir.integer) ? "ezquake" : com_gamedirfile, name); if (!(f = fopen (outfile, "w"))) { FS_CreatePath(outfile); if (!(f = fopen (outfile, "w"))) { Com_Printf ("Couldn't write %s.\n", name); return; } } Com_Printf("Saving configuration to %s\n", outfile); Config_PrintPreamble(f); if (cfg_save_cvars.value) { Config_PrintHeading(f, "V A R I A B L E S"); DumpVariables(f); fprintf(f, "%s", newlines); } if (cfg_save_cmds.value) { Config_PrintHeading(f, "S E L E C T E D S O U R C E S"); WriteSourcesConfiguration(f); fprintf(f, "%s", newlines); } if (cfg_save_aliases.value) { Config_PrintHeading(f, "A L I A S E S"); DumpAliases(f); fprintf(f, "%s", newlines); } if (cfg_save_cmds.value) { Config_PrintHeading(f, "Q W 2 6 2 H U D"); DumpHUD262(f); fprintf(f, "%s", newlines); Config_PrintHeading(f, "T E A M P L A Y C O M M A N D S"); DumpTeamplay(f); fprintf(f, "%s", newlines); Config_PrintHeading(f, "M I S C E L L A N E O U S C O M M A N D S"); DumpMisc(f); fprintf(f, "%s", newlines); Config_PrintHeading(f, "P L U S C O M M A N D S"); DumpPlusCommands(f); fprintf(f, "%s", newlines); } if (cfg_save_binds.value) { Config_PrintHeading(f, "K E Y B I N D I N G S"); DumpBindings(f); } fclose(f); }
void DumpIPTrans() { SYMBOL *Sym; SYMBOL *LastSLDSym = NULL; FILE *SldFile = 0; int line, file; uint n; int MustConvertPaths = 0; Sym = SymTab; n = SYMMAX; SldFile = fopen(SldName, "w"); if (!SldFile) { printf("Failed to create source line file'\n"); return; } fprintf(SldFile, "Files\n"); do { if (Sym->Section == section_SLD_File) { char *SymName = Sym->Name; size_t i, j = 0, len; char temp[256]; if(!MustConvertPaths) { if(LastSLDSym && LastSLDSym->Type > Sym->Type) MustConvertPaths = 1; LastSLDSym = Sym; } if(MustConvertPaths) { char *ParentPath = GetFileIdString(Sym->Type); GetRelPath(ParentPath); len = strlen(Sym->Name); #define IS_SLASH(c) ((c)=='/' || (c)=='\\') if((len>2 && Sym->Name[1]==':' && IS_SLASH(Sym->Name[2])) || (len>0 && IS_SLASH(Sym->Name[0]))) { } else { SymName = AddRelPrefix(Sym->Name); } } len = strlen(SymName); // filter out bad slashes... for(i = 0; i < len; i++) { if(IS_SLASH(SymName[i])) { if(i+1<len-1 && IS_SLASH(SymName[i+1])) { i++; } temp[j++] = '/'; } else temp[j++] = SymName[i]; } temp[j] = 0; fprintf(SldFile, "%d:%d:%s\n", Sym->Value, Sym->Type, temp); } Sym++; } while(--n); fprintf(SldFile, "SLD\n"); if (!SLD_Line_Array.array) return; for (n=SLD_Line_Array.lo; n<SLD_Line_Array.hi+1; n++) { line = ArrayGet(&SLD_Line_Array, n); file= ArrayGet(&SLD_File_Array, n); if (line) { fprintf(SldFile, "%x:%d:%d\n", n, line, file); } } DumpFunctions(SldFile); DumpVariables(SldFile); //DumpAllSyms(SldFile); Dump_MasterIP_Trans(SldFile); fprintf(SldFile, "END\n"); fclose(SldFile); return; }
void DumpConfig(char *name) { FILE *f; char *outfile, *newlines = "\n"; if (cfg_use_home.integer) // use home dir for cfg outfile = va("%s/%s", com_homedir, name); else // use ezquake dir outfile = va("%s/ezquake/configs/%s", com_basedir, name); if (!(f = fopen (outfile, "w"))) { FS_CreatePath(outfile); if (!(f = fopen (outfile, "w"))) { Com_Printf ("Couldn't write %s.\n", name); return; } } Config_PrintPreamble(f); if (cfg_save_cmdline.value && strlen(cl_cmdline.string) > 1) { Config_PrintHeading(f, "C O M M A N D L I N E"); DumpCmdLine(f); fprintf(f, newlines); } if (cfg_save_cvars.value) { Config_PrintHeading(f, "V A R I A B L E S"); DumpVariables(f); fprintf(f, newlines); } if (cfg_save_cmds.value) { Config_PrintHeading(f, "S E L E C T E D S O U R C E S"); WriteSourcesConfiguration(f); fprintf(f, newlines); } if (cfg_save_aliases.value) { Config_PrintHeading(f, "A L I A S E S"); DumpAliases(f); fprintf(f, newlines); } if (cfg_save_cmds.value) { Config_PrintHeading(f, "T E A M P L A Y C O M M A N D S"); DumpTeamplay(f); fprintf(f, newlines); Config_PrintHeading(f, "M I S C E L L A N E O U S C O M M A N D S"); DumpMisc(f); fprintf(f, newlines); Config_PrintHeading(f, "P L U S C O M M A N D S"); DumpPlusCommands(f); fprintf(f, newlines); } if (cfg_save_binds.value) { Config_PrintHeading(f, "K E Y B I N D I N G S"); DumpBindings(f); } fclose(f); }