int QSget_bounds (QSprob p, double *lower, double *upper)
/* p is an initialized QSprob, a handle to an existing LP problem  */

int j, rval, ncols;
double *lower, *upper;

ncols = QSget_colcount (p);
lower = (double *) malloc (ncols * sizeof (double));
upper = (double *) malloc (ncols * sizeof (double));

rval = QSget_bounds (p, lower, upper);
if (rval) {
    fprintf (stderr, "could not obtain bounds, error code %d\n", rval);
} else {
    for (j = 0; j < ncols; j++) {
        if (lower[j] == -QS_MAXDOUBLE) {
            printf ("-infinity");
        } else {
            printf ("%f", lower[j]);
        }
          printf (" <= Variable %d <= ", j);
        if (upper[j] == QS_MAXDOUBLE) {
            printf ("+infinity\n");
        } else {
            printf ("%f\n", upper[j]);
        }
    }
}

free (lower);
free (upper);