File: flags.c

package info (click to toggle)
gtkfind 1.0.1-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 376 kB
  • ctags: 251
  • sloc: ansic: 3,521; sh: 277; makefile: 50
file content (72 lines) | stat: -rw-r--r-- 1,747 bytes parent folder | download | duplicates (2)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* flags.c */
/* this file contains the functions used to manipulate flags */
/*
  gtkfind - a graphical "find" program
  Copyright (C) 1999  Matthew Grossman <mattg@oz.net>

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

#include"flags.h"


#define MAX_FLAGS 256

static int flag_array[MAX_FLAGS] = {0};

int
set_flag(enum flag_t f, int value)
     /* set the flag f to value */
{
  int rv = 1;

  if(f >= MAX_FLAGS)
    rv = 0;
  else
    flag_array[(int)f] = value;
  
  return(rv);
}

int
get_flag(enum flag_t f)
     /* return the value of f */
{
  int rv = -1;

  rv = flag_array[(int)f];

  return(rv);
}

int
reset_flags()
     /* reset all flags that we want to reset to their default values */
{
  int rv = 0;
  int i = 0;

  for(i = 0; i < MAX_FLAGS; i++) {
    if(i == (int)SEARCH_SUBDIRS_P || i == (int)PRINT_TO_WINDOW_P ||
       i == (int)SHELL_COMMAND_P || i == (int)PRINT_TO_STDOUT_P ||
       i == (int)PRINT_FILENAME_ANYWAY_P || i == (int)WARNING_WINDOW_P ||
       i == (int)LONG_OUTPUT_P)
      /* do nothing */ ;
    else
      flag_array[i] = 0;
  }

  return(rv);
}