File: client.plm

package info (click to toggle)
plum 2.33.1-9
  • links: PTS
  • area: main
  • in suites: sarge, woody
  • size: 908 kB
  • ctags: 128
  • sloc: perl: 4,442; makefile: 51
file content (129 lines) | stat: -rw-r--r-- 3,099 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# $Id: client.plm,v 2.11 1999/01/17 02:36:19 hasegawa Exp $
# copyright (c)1997-1999 Yoshinori Hasegawa <hasegawa@madoka.org>

package log_client;

$DIRECTORY = '.';
$FILE = 'logclient';
$HEADER = '%H:%M';

$_ = 'log_client';

sub client_read {
  local($clientno, $line) = @_;
  &writelog($'userno[$clientno], $line);
  return ($line);
}

sub writelog {
  local($userno, $line) = @_;
  local($file, $dir, $name, $code, $header, $mode);
  $file = &'property($userno, 'file') || $FILE;
  ($name, $code) = &filename($file);
  if ($name !~ /^[\\\/]/) {
    $dir = &'expand(&'property($userno, 'directory') || $DIRECTORY);
    $name = "$dir/$name";
  }
  $name = &'date($name);
  $header = &'property($userno, 'header');
  $header = $HEADER unless defined($header);
  $header = &'date($header);
  $line = &jis_code($line, $code) if $code;
  if (!-e $name) {
    if (open(FILE, ">$name")) {
      close(FILE);
      $mode = &'property($userno, 'mode');
      if (defined($mode)) {
        chmod(oct($mode), $name);
      }
    }
  }
  if (open(FILE, ">>$name")) {
    print FILE $header, ' ', $line, "\n";
    close(FILE);
  }
}

sub filename {
  local($file) = @_;
  local($idx, $name, $code);
  return ('', '') unless $file;
  if (($idx = rindex($file, ';')) != -1) {
    $name = substr($file, 0, $idx);
    $code = substr($file, $idx + 1);
  } else {
    $name = $file;
    $code = '';
  }
  return (&'expand($name), $code);
}

sub jis_code {
  local($line, $list) = @_;
  local($code);
  $code = (split(/\,/, "\L$list\E"))[0];
  if ($code eq 'euc') {
    $line = &'jis_euc($line);
  } elsif ($code eq 'jis') {
    $line = &'jis_jis($line);
  } elsif ($code eq 'sjis') {
    $line = &'jis_sjis($line);
  }
  return $line;
}

__END__
--><HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-2022-JP">
<LINK REV="made" HREF="mailto:hasegawa@madoka.org">
<TITLE>log/client.plm</TITLE></HEAD><BODY>

$B%*%s%i%$%s%I%-%e%a%s%H(B


<HR><H3>$BL>A0(B</H3>

log/client.plm - $B%/%i%$%"%s%H$+$i$NF~NO$r%m%0$H$7$FJ]B8$9$k(B


<HR><H3>$B@bL@(B</H3>

$B%/%i%$%"%s%H$+$iF~NO$r$9$Y$F%m%0$KJ]B8$7$^$9!#(B


<HR><H3>$B%W%m%Q%F%#(B</H3>

<DL>
<DT>  log.client.directory $B%G%#%l%/%H%j(B
</DT>
<DD>    $B%m%0$rJ]B8$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B
        $B%G%U%)%k%H$G$O%+%l%s%H%G%#%l%/%H%j$KJ]B8$7$^$9!#(B
</DD>
<DT>  log.client.file $B%U%!%$%kL>(B
</DT>
<DD>    $B%m%0$N%U%!%$%kL>$r;XDj$7$^$9!#(B
        %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$kF|IU$KJQ49$5$l$^$9!#(B
        $B%G%U%)%k%H$G$O!V(Blogclient$B!W$H$$$&%U%!%$%k$KJ]B8$7$^$9!#(B
</DD>
<DT>  log.client.header $B$X%C%@(B
</DT>
<DD>    $B%m%0$K=PNO$9$k;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B
        %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$k;~4V$KJQ49$5$l$^$9!#(B
</DD>
<DT>  log.client.mode $B%U%!%$%k%b!<%I(B
</DT>
<DD>    $B%m%0$N%U%!%$%k%b!<%I$r;XDj$7$^$9!#(B
</DD>
</DL>

<HR><H3>$B@_DjNc(B</H3>

<PRE>
+ log/client.plm
log.client.file: client%m%d
</PRE>

$B%/%i%$%"%s%H$+$i$NF~NO$r!V(Bclient%m%d$B!W$KJ]B8$7$^$9!#(B
$B!V(B%m$B!W$H!V(B%d$B!W$O$=$l$>$l8=:_$N7n$HF|$KJQ49$5$l$^$9!#(B

</BODY></HTML>