summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/SNIP/changprn.c
blob: e8483426233207e707417e7ea1e11a038745f468 (plain)
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
/*
**  change_prn()
**
**  A function to change the standard printer device for the duration
**  of a program. Valid new device codes are:
**
**      0 - LPT1
**      1 - LPT2
**      2 - LPT3
**      3 - COM1
**      4 - COM2
**      5 - CON
**
**  Original Copyright 1988-1991 by Bob Stout as part of
**  the MicroFirm Function Library (MFL)
**
**  This subset version is functionally identical to the
**  version originally published by the author in Tech Specialist
**  magazine and is hereby donated to the public domain.
*/

#include <stdio.h>

int change_prn(int device)
{
      char *newdev;

      switch (device)
      {
      case 0:
            newdev = "LPT1";
            break;
      case 1:
            newdev = "LPT2";
            break;
      case 2:
            newdev = "LPT3";
            break;
      case 3:
            newdev = "COM1";
            break;
      case 4:
            newdev = "COM2";
            break;
      case 5:
            newdev = "CON";
            break;
      default:
            return -1;
      }
      return (NULL == freopen(newdev, "w", stdprn));
}