install.c
author "Tomas Zeman <tomas.zeman@sun.com>"
Fri, 19 Oct 2007 11:01:15 +0200
changeset 0 eeadadee24f6
permissions -rw-r--r--
Imported cdb-0.75
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     1
#include "buffer.h"
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     2
#include "strerr.h"
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     3
#include "error.h"
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     4
#include "open.h"
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     5
#include "readwrite.h"
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     6
#include "exit.h"
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     7
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     8
extern void hier();
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
     9
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    10
#define FATAL "install: fatal: "
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    11
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    12
int fdsourcedir = -1;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    13
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    14
void h(home,uid,gid,mode)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    15
char *home;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    16
int uid;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    17
int gid;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    18
int mode;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    19
{
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    20
  if (mkdir(home,0700) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    21
    if (errno != error_exist)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    22
      strerr_die4sys(111,FATAL,"unable to mkdir ",home,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    23
  if (chown(home,uid,gid) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    24
    strerr_die4sys(111,FATAL,"unable to chown ",home,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    25
  if (chmod(home,mode) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    26
    strerr_die4sys(111,FATAL,"unable to chmod ",home,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    27
}
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    28
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    29
void d(home,subdir,uid,gid,mode)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    30
char *home;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    31
char *subdir;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    32
int uid;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    33
int gid;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    34
int mode;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    35
{
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    36
  if (chdir(home) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    37
    strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    38
  if (mkdir(subdir,0700) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    39
    if (errno != error_exist)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    40
      strerr_die6sys(111,FATAL,"unable to mkdir ",home,"/",subdir,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    41
  if (chown(subdir,uid,gid) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    42
    strerr_die6sys(111,FATAL,"unable to chown ",home,"/",subdir,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    43
  if (chmod(subdir,mode) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    44
    strerr_die6sys(111,FATAL,"unable to chmod ",home,"/",subdir,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    45
}
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    46
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    47
char inbuf[BUFFER_INSIZE];
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    48
char outbuf[BUFFER_OUTSIZE];
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    49
buffer ssin;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    50
buffer ssout;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    51
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    52
void c(home,subdir,file,uid,gid,mode)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    53
char *home;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    54
char *subdir;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    55
char *file;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    56
int uid;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    57
int gid;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    58
int mode;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    59
{
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    60
  int fdin;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    61
  int fdout;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    62
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    63
  if (fchdir(fdsourcedir) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    64
    strerr_die2sys(111,FATAL,"unable to switch back to source directory: ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    65
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    66
  fdin = open_read(file);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    67
  if (fdin == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    68
    strerr_die4sys(111,FATAL,"unable to read ",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    69
  buffer_init(&ssin,read,fdin,inbuf,sizeof inbuf);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    70
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    71
  if (chdir(home) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    72
    strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    73
  if (chdir(subdir) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    74
    strerr_die6sys(111,FATAL,"unable to switch to ",home,"/",subdir,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    75
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    76
  fdout = open_trunc(file);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    77
  if (fdout == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    78
    strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    79
  buffer_init(&ssout,write,fdout,outbuf,sizeof outbuf);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    80
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    81
  switch(buffer_copy(&ssout,&ssin)) {
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    82
    case -2:
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    83
      strerr_die4sys(111,FATAL,"unable to read ",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    84
    case -3:
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    85
      strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    86
  }
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    87
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    88
  close(fdin);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    89
  if (buffer_flush(&ssout) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    90
    strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    91
  if (fsync(fdout) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    92
    strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    93
  if (close(fdout) == -1) /* NFS silliness */
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    94
    strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    95
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    96
  if (chown(file,uid,gid) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    97
    strerr_die6sys(111,FATAL,"unable to chown .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    98
  if (chmod(file,mode) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
    99
    strerr_die6sys(111,FATAL,"unable to chmod .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   100
}
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   101
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   102
void z(home,subdir,file,len,uid,gid,mode)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   103
char *home;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   104
char *subdir;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   105
char *file;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   106
int len;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   107
int uid;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   108
int gid;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   109
int mode;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   110
{
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   111
  int fdout;
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   112
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   113
  if (chdir(home) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   114
    strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   115
  if (chdir(subdir) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   116
    strerr_die6sys(111,FATAL,"unable to switch to ",home,"/",subdir,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   117
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   118
  fdout = open_trunc(file);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   119
  if (fdout == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   120
    strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   121
  buffer_init(&ssout,write,fdout,outbuf,sizeof outbuf);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   122
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   123
  while (len-- > 0)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   124
    if (buffer_put(&ssout,"",1) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   125
      strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   126
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   127
  if (buffer_flush(&ssout) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   128
    strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   129
  if (fsync(fdout) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   130
    strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   131
  if (close(fdout) == -1) /* NFS silliness */
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   132
    strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   133
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   134
  if (chown(file,uid,gid) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   135
    strerr_die6sys(111,FATAL,"unable to chown .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   136
  if (chmod(file,mode) == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   137
    strerr_die6sys(111,FATAL,"unable to chmod .../",subdir,"/",file,": ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   138
}
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   139
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   140
main()
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   141
{
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   142
  fdsourcedir = open_read(".");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   143
  if (fdsourcedir == -1)
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   144
    strerr_die2sys(111,FATAL,"unable to open current directory: ");
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   145
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   146
  umask(077);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   147
  hier();
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   148
  _exit(0);
eeadadee24f6 Imported cdb-0.75
"Tomas Zeman <tomas.zeman@sun.com>"
parents:
diff changeset
   149
}