00001
00002
00003
00004
00005
00006 defzsigfile ?:= getenv("HOME") + "/Private/zsigs-vt";
00007
00008 func chomp(s) [l] {
00009 l = strlen(s) - 1;
00010 if (s[l] == '\n')
00011 s[l] = '\0';
00012 return s;
00013 }
00014
00015 func Load_zsigs(sigfile) [file, line] {
00016 if (!sigfile || !strlen(sigfile))
00017 sigfile = defsigfile;
00018 else if (sigfile[0] == '~' && sigfile[1] == '/')
00019 sigfile = getenv("HOME") + "/" + (sigfile + 2);
00020
00021 if (!(file = fopen(sigfile, "r"))) {
00022 output(errmsg);
00023 return 1;
00024 }
00025
00026 if (!zsigs) {
00027 zsigs = alloc(5);
00028 }
00029 numzsigs = 0;
00030 zsigs[0] = "";
00031 while (line = fread(file)) {
00032 line = chomp(line);
00033 zsigs[numzsigs++] = line;
00034 }
00035 fclose(file);
00036 return 0;
00037 }
00038
00039 func random_zsig()
00040 {
00041 return zsigs[rnd % numzsigs];
00042 }
00043
00044 add_cmd("load_zsigs", -1, .Load_zsigs, "/load_zsigs <filename>");
00045