Mercurial > emacs
annotate lib-src/test-distrib.c @ 40819:668787248f9b
* dired.el (dired-move-to-filename-regexp):
Do not distinguish between ASCII letters and non-ASCII characters.
Don't allow comma except in the form "month day, year".
Don't allow space between month name and comma.
Clean up the code that checks for trailing period, comma, and space.
Remove now-obsolete comments, and add more commentary about
Japanese dates.
Always gobble up trailing spaces, instead of doing it only sometimes.
author | Paul Eggert <eggert@twinsun.com> |
---|---|
date | Wed, 07 Nov 2001 21:59:39 +0000 |
parents | c8fb06423da0 |
children | dfc99f4ae55e |
rev | line source |
---|---|
36226 | 1 /* test-distrib.c --- testing distribution of nonprinting chars |
2 | |
3 Copyright (C) 1987, 1993, 1994, 1995, 1999, 2001 | |
4 Free Software Foundation Inc. | |
5 | |
6 This file is part of GNU Emacs. | |
7 | |
8 GNU Emacs is free software; you can redistribute it and/or modify | |
9 it under the terms of the GNU General Public License as published by | |
10 the Free Software Foundation; either version 2, or (at your option) | |
11 any later version. | |
12 | |
13 GNU Emacs is distributed in the hope that it will be useful, | |
14 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 GNU General Public License for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
19 along with GNU Emacs; see the file COPYING. If not, write to | |
20 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
21 | |
12935
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
22 #ifdef HAVE_CONFIG_H |
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
23 #include <config.h> |
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
24 #endif |
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
25 |
10 | 26 #include <stdio.h> |
27 | |
25447
76e2d539ecad
Include <unistd.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
12976
diff
changeset
|
28 #ifdef HAVE_UNISTD_H |
76e2d539ecad
Include <unistd.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
12976
diff
changeset
|
29 #include <unistd.h> |
76e2d539ecad
Include <unistd.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
12976
diff
changeset
|
30 #endif |
76e2d539ecad
Include <unistd.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
12976
diff
changeset
|
31 |
12935
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
32 #ifndef O_RDONLY |
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
33 #define O_RDONLY 0 |
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
34 #endif |
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
35 |
10 | 36 /* Break string in two parts to avoid buggy C compilers that ignore characters |
37 after nulls in strings. */ | |
38 | |
39 char string1[] = "Testing distribution of nonprinting chars:\n\ | |
40 Should be 0177: \177 Should be 0377: \377 Should be 0212: \212.\n\ | |
41 Should be 0000: "; | |
42 | |
43 char string2[] = ".\n\ | |
44 This file is read by the `test-distribution' program.\n\ | |
45 If you change it, you will make that program fail.\n"; | |
46 | |
47 char buf[300]; | |
48 | |
49 /* Like `read' but keeps trying until it gets SIZE bytes or reaches eof. */ | |
50 int | |
51 cool_read (fd, buf, size) | |
52 int fd; | |
53 char *buf; | |
54 int size; | |
55 { | |
56 int num, sofar = 0; | |
57 | |
58 while (1) | |
59 { | |
60 if ((num = read (fd, buf + sofar, size - sofar)) == 0) | |
61 return sofar; | |
62 else if (num < 0) | |
63 return num; | |
64 sofar += num; | |
65 } | |
66 } | |
67 | |
9491
dd3b83e4ceb0
Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents:
2814
diff
changeset
|
68 int |
2814
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
69 main (argc, argv) |
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
70 int argc; |
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
71 char **argv; |
10 | 72 { |
2814
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
73 int fd; |
10 | 74 |
2814
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
75 if (argc != 2) |
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
76 { |
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
77 fprintf (stderr, "Usage: %s testfile\n", argv[0]); |
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
78 exit (2); |
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
79 } |
12935
f65e672e038e
[HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents:
9491
diff
changeset
|
80 fd = open (argv[1], O_RDONLY); |
10 | 81 if (fd < 0) |
82 { | |
2814
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
83 perror (argv[1]); |
10 | 84 exit (2); |
85 } | |
86 if (cool_read (fd, buf, sizeof string1) != sizeof string1 || | |
87 strcmp (buf, string1) || | |
88 cool_read (fd, buf, sizeof string2) != sizeof string2 - 1 || | |
89 strncmp (buf, string2, sizeof string2 - 1)) | |
90 { | |
2814
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
91 fprintf (stderr, "Data in file `%s' has been damaged.\n\ |
10 | 92 Most likely this means that many nonprinting characters\n\ |
2814
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
93 have been corrupted in the files of Emacs, and it will not work.\n", |
0da5b58e98ed
Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents:
10
diff
changeset
|
94 argv[1]); |
10 | 95 exit (2); |
96 } | |
97 close (fd); | |
98 #ifdef VMS | |
99 exit (1); /* On VMS, success is 1. */ | |
100 #endif | |
9491
dd3b83e4ceb0
Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents:
2814
diff
changeset
|
101 return (0); |
10 | 102 } |