2 * File display.c - display handling for Wine internal debugger.
4 * Copyright (C) 1997, Eric Youngdale.
12 #include <sys/types.h>
15 #include "selectors.h"
22 #define MAX_DISPLAY 25
23 static struct expr
* displaypoints
[MAX_DISPLAY
];
26 DEBUG_AddDisplay(struct expr
* exp
)
31 * First find a slot where we can store this display.
33 for(i
=0; i
< MAX_DISPLAY
; i
++ )
35 if( displaypoints
[i
] == NULL
)
37 displaypoints
[i
] = DEBUG_CloneExpr(exp
);
51 * First find a slot where we can store this display.
53 for(i
=0; i
< MAX_DISPLAY
; i
++ )
55 if( displaypoints
[i
] != NULL
)
57 fprintf(stderr
, "%d : ", i
+1);
58 DEBUG_DisplayExpr(displaypoints
[i
]);
59 fprintf(stderr
, "\n");
73 * First find a slot where we can store this display.
75 for(i
=0; i
< MAX_DISPLAY
; i
++ )
77 if( displaypoints
[i
] != NULL
)
79 addr
= DEBUG_EvalExpr(displaypoints
[i
]);
80 if( addr
.type
== NULL
)
82 fprintf(stderr
, "Unable to evaluate expression ");
83 DEBUG_DisplayExpr(displaypoints
[i
]);
84 fprintf(stderr
, "\nDisabling...\n");
89 fprintf(stderr
, "%d : ", i
+ 1);
90 DEBUG_DisplayExpr(displaypoints
[i
]);
91 fprintf(stderr
, " = ");
92 DEBUG_Print( &addr
, 1, 0, 0);
101 DEBUG_DelDisplay(int displaynum
)
105 if( displaynum
>= MAX_DISPLAY
|| displaynum
== 0 || displaynum
< -1 )
107 fprintf(stderr
, "Invalid display number\n");
110 if( displaynum
== -1 )
112 for(i
=0; i
< MAX_DISPLAY
; i
++ )
114 if( displaypoints
[i
] != NULL
)
116 DEBUG_FreeExpr(displaypoints
[i
]);
117 displaypoints
[i
] = NULL
;
121 else if( displaypoints
[displaynum
- 1] != NULL
)
123 DEBUG_FreeExpr(displaypoints
[displaynum
- 1]);
124 displaypoints
[displaynum
- 1] = NULL
;