X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fcartesian.c;h=e4a5fe1352f3323b8bc8035dfab69e2c33f7ca01;hb=4fdeb2145d081ff1b84e3f6c99f9d1c048c0d64a;hp=cac18400a4e9e85c6b1dc78bc795b3323b76dd4c;hpb=5501903810bcbae487b12bc44d9cbedf29644d96;p=pspp diff --git a/src/cartesian.c b/src/cartesian.c index cac18400a4..e4a5fe1352 100644 --- a/src/cartesian.c +++ b/src/cartesian.c @@ -14,8 +14,8 @@ 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. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #include @@ -53,6 +53,8 @@ write_legend(struct chart *chart, const char *heading, int n); void chart_write_xlabel(struct chart *ch, const char *label) { + if ( ! ch ) + return ; pl_savestate_r(ch->lp); @@ -69,6 +71,9 @@ chart_write_xlabel(struct chart *ch, const char *label) void chart_write_ylabel(struct chart *ch, const char *label) { + if ( ! ch ) + return ; + pl_savestate_r(ch->lp); pl_move_r(ch->lp, ch->data_bottom, ch->ordinate_right); @@ -86,6 +91,10 @@ write_legend(struct chart *chart, const char *heading, { int ds; + if ( ! chart ) + return ; + + pl_savestate_r(chart->lp); pl_filltype_r(chart->lp,1); @@ -124,13 +133,18 @@ write_legend(struct chart *chart, const char *heading, void chart_datum(struct chart *ch, int dataset UNUSED, double x, double y) { + + if ( ! ch ) + return ; + + + const double x_pos = (x - ch->x_min) * ch->abscissa_scale + ch->data_left ; const double y_pos = (y - ch->y_min) * ch->ordinate_scale + ch->data_bottom ; - pl_savestate_r(ch->lp); pl_fmarker_r(ch->lp, x_pos, y_pos, 6, 15); @@ -151,6 +165,10 @@ chart_line(struct chart *ch, double slope, double intercept, double x1, y1; double x2, y2 ; + if ( ! ch ) + return ; + + if ( lim_dim == CHART_DIM_Y ) { x1 = ( limit1 - intercept ) / slope ;