/[MITgcm]/MITgcm/tools/mpack-1.6/unixunpk.c
ViewVC logotype

Annotation of /MITgcm/tools/mpack-1.6/unixunpk.c

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (hide annotations) (download)
Wed Mar 12 20:38:49 2008 UTC (16 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Changes since 1.4: +2 -0 lines
File MIME type: text/plain
test for header "getopt.h" and just do not include it if not found.

1 edhill 1.1 /* (C) Copyright 1993,1994 by Carnegie Mellon University
2     * All Rights Reserved.
3     *
4     * Permission to use, copy, modify, distribute, and sell this software
5     * and its documentation for any purpose is hereby granted without
6     * fee, provided that the above copyright notice appear in all copies
7     * and that both that copyright notice and this permission notice
8     * appear in supporting documentation, and that the name of Carnegie
9     * Mellon University not be used in advertising or publicity
10     * pertaining to distribution of the software without specific,
11     * written prior permission. Carnegie Mellon University makes no
12     * representations about the suitability of this software for any
13     * purpose. It is provided "as is" without express or implied
14     * warranty.
15     *
16     * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
17     * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18     * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
19     * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
20     * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
21     * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
22     * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
23     * SOFTWARE.
24     */
25     #include <stdio.h>
26 jmc 1.4 #include <stdlib.h>
27 jmc 1.5 #ifdef HAVE_GETOPT_H
28 jmc 1.4 #include <getopt.h>
29 jmc 1.5 #endif
30 jmc 1.4 #include <unistd.h>
31 edhill 1.1 #include "version.h"
32     #include "part.h"
33    
34     extern int overwrite_files;
35     extern int didchat;
36     int quiet;
37    
38     void usage(void);
39 jmc 1.4 int handleMessage(struct part *inpart, char *defaultContentType,
40     int inAppleDouble, int extractText);
41 edhill 1.1
42     int main(int argc, char **argv)
43     {
44     int opt;
45     FILE *file;
46     int extractText = 0;
47    
48     while ((opt = getopt(argc, argv, "qftC:")) != EOF) {
49     switch (opt) {
50     case 'f':
51     overwrite_files = 1;
52     break;
53    
54     case 'q':
55     quiet = 1;
56     break;
57    
58     case 't':
59     extractText = 1;
60     break;
61    
62     case 'C':
63     if (chdir(optarg)) {
64     perror(optarg);
65     exit(1);
66     }
67     break;
68    
69     default:
70     usage();
71     }
72     }
73    
74     if (optind == argc) {
75     fprintf(stderr, "munpack: reading from standard input\n");
76     didchat = 0;
77     handleMessage(part_init(stdin), "text/plain", 0, extractText);
78     if (!didchat) {
79     fprintf(stdout,
80     "Did not find anything to unpack from standard input\n");
81     }
82     exit(0);
83     }
84    
85     while (argv[optind]) {
86     file = fopen(argv[optind], "r");
87     if (!file) {
88     perror(argv[optind]);
89     }
90     else {
91     didchat = 0;
92     handleMessage(part_init(file), "text/plain", 0, extractText);
93     fclose(file);
94     if (!didchat) {
95     fprintf(stdout,
96     "Did not find anything to unpack from %s\n",
97     argv[optind]);
98     }
99     }
100     optind++;
101     }
102     exit(0);
103     }
104    
105     void usage(void) {
106     fprintf(stderr, "munpack version %s\n", MPACK_VERSION);
107 jmc 1.4 fprintf(stderr, "usage: munpack [-f] [-q] [-t] [-C directory] [files...]\n");
108 edhill 1.1 exit(1);
109     }
110    
111     void warn(char *s)
112     {
113     fprintf(stderr, "munpack: warning: %s\n", s);
114     }
115    
116     void chat(char *s)
117     {
118     didchat = 1;
119     if (!quiet) fprintf(stdout, "%s\n", s);
120     }

  ViewVC Help
Powered by ViewVC 1.1.22