This commit was generated by cvs2svn to compensate for changes in r5086,
[chise/xemacs-chise.git.1] / lib-src / make-dump-id.c
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 }