comparison lib-src/make-dump-id.c @ 404:2f8bb876ab1d r21-2-32

Import from CVS: tag r21-2-32
author cvs
date Mon, 13 Aug 2007 11:16:07 +0200
parents
children b8cc9ab3f761
comparison
equal deleted inserted replaced
403:9f011ab08d48 404:2f8bb876ab1d
1 /* Generate a unique dump-id for use with the portable dumper.
2 Copyright (C) 2000 Olivier Galibert, Martin Buchholz
3
4 This file is part of XEmacs.
5
6 XEmacs is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
9 later version.
10
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with XEmacs; see the file COPYING. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
20
21 #include <config.h>
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include "../src/systime.h"
25
26 /* Generates an (extremely) pseudo random number for the dump-id */
27 static unsigned int
28 generate_dump_id (void)
29 {
30 EMACS_TIME thyme;
31 EMACS_GET_TIME (thyme);
32
33 return (unsigned int) (EMACS_SECS (thyme) ^ EMACS_USECS (thyme));
34 }
35
36 int
37 main (int argc, char *argv[])
38 {
39 FILE *f;
40
41 if ((f = fopen ("dump-id.c", "w")) == NULL)
42 {
43 perror ("open dump-id.c");
44 return EXIT_FAILURE;
45 }
46
47 fprintf (f,
48 "#include <dump-id.h>\n"
49 "unsigned int dump_id = %uU;\n",
50 generate_dump_id ());
51
52 if ((fclose (f)) != 0)
53 {
54 perror ("close dump-id.c");
55 return EXIT_FAILURE;
56 }
57
58 return EXIT_SUCCESS;
59 }