Index: trunk/config.h.in
===================================================================
--- trunk/config.h.in (revision 3178)
+++ trunk/config.h.in (revision 3179)
@@ -178,6 +178,9 @@
#define COORD_MAX @/local/pcb/coord_max@
#define coord_abs @/local/pcb/coord_abs@
+/* Other autodetected types */
+typedef @/local/pcb/long64@ pcb_long64_t;
+
/* the dot-dir: where to save user config under ther user's home; it's used
as ~/DOT_PCB_RND/ */
#define DOT_PCB_RND "@/local/pcb/dot_pcb_rnd@"
Index: trunk/doc-rnd/TODO
===================================================================
--- trunk/doc-rnd/TODO (revision 3178)
+++ trunk/doc-rnd/TODO (revision 3179)
@@ -17,6 +17,8 @@
- replace settings with lihata (conf_*)
- remove CFN_INCREMENTS, test if saving increments from preferences works
- TEST:
+ - png export: bloat settings in pixel (scale changed)
+ - whether polygon rendering breaks if pcb_long64_t is double
- import netlist and import EDIF (File/Load Netlist in gtk - file format should be autodetected usign file content)
- atexit change -> is the design saved periodically? is it saved on a crash?
- dbus support
Index: trunk/doc-rnd/conf/tree/editor.html
===================================================================
--- trunk/doc-rnd/conf/tree/editor.html (revision 3178)
+++ trunk/doc-rnd/conf/tree/editor.html (revision 3179)
@@ -18,6 +18,7 @@
highlight_on_point | boolean | 0 | Highlight if crosshair is on endpoints.
|
show_solder_side | boolean | 0 | mirror output
|
save_last_command | boolean | 0 | save the last command entered by user
+ |
line_refraction | integer | 0 | value for line lookahead setting
|
save_in_tmp | boolean | 0 | always save data in /tmp
|
draw_grid | boolean | 0 | draw grid points
|
all_direction_lines | boolean | 0 | enable lines to all directions
Index: trunk/scconfig/Rev.h
===================================================================
--- trunk/scconfig/Rev.h (revision 3178)
+++ trunk/scconfig/Rev.h (revision 3179)
@@ -1 +1 @@
-static const int myrev = 2985;
+static const int myrev = 3179;
Index: trunk/scconfig/Rev.tab
===================================================================
--- trunk/scconfig/Rev.tab (revision 3178)
+++ trunk/scconfig/Rev.tab (revision 3179)
@@ -1,2 +1,3 @@
+3179 configure c89 correctness: do not depend on hardwired long long, detect it
2985 configure Revcheck installed in Makefiles.
2984 configure Introduction of the config-rev system.
Index: trunk/scconfig/hooks.c
===================================================================
--- trunk/scconfig/hooks.c (revision 3178)
+++ trunk/scconfig/hooks.c (revision 3179)
@@ -454,6 +454,11 @@
put("/local/pcb/coord_type", chosen);
put("/local/pcb/coord_max", tmp);
put("/local/pcb/coord_abs", abs_name);
+
+ if (long_long_bits >= 64) chosen = "long long int";
+ else if (long_bits >= 64) chosen = "long int";
+ else chosen = "double";
+ put("/local/pcb/long64", chosen);
}
return 0;
Index: trunk/src/polygon1.c
===================================================================
--- trunk/src/polygon1.c (revision 3178)
+++ trunk/src/polygon1.c (revision 3179)
@@ -2534,10 +2534,10 @@
if (s->v->point[1] <= p->p[1]) {
if (s->v->next->point[1] > p->p[1]) {
Vector v1, v2;
- long long cross;
+ pcb_long64_t cross;
Vsub2(v1, s->v->next->point, s->v->point);
Vsub2(v2, p->p, s->v->point);
- cross = (long long) v1[0] * v2[1] - (long long) v2[0] * v1[1];
+ cross = (pcb_long64_t) v1[0] * v2[1] - (pcb_long64_t) v2[0] * v1[1];
if (cross == 0) {
p->f = 1;
longjmp(p->env, 1);
@@ -2549,10 +2549,10 @@
else {
if (s->v->next->point[1] <= p->p[1]) {
Vector v1, v2;
- long long cross;
+ pcb_long64_t cross;
Vsub2(v1, s->v->next->point, s->v->point);
Vsub2(v2, p->p, s->v->point);
- cross = (long long) v1[0] * v2[1] - (long long) v2[0] * v1[1];
+ cross = (pcb_long64_t) v1[0] * v2[1] - (pcb_long64_t) v2[0] * v1[1];
if (cross == 0) {
p->f = 1;
longjmp(p->env, 1);
|