Thread: SAC plot problem

Started: 2010-11-10 16:47:00
Last activity: 2010-11-10 23:03:54
Topics: SAC Help
coralie aubert
2010-11-10 16:47:00
(no body)
Attachments
  • Arthur Snoke
    2010-11-10 23:03:54
    Coralie,

    Soon after releasing 101.4 we found an error in sgftops.c. The error had
    been there for a while, and it manifested itself only rarely so we figured
    it could wait until the next release. It may or may not be related to
    your symptom, but I am attaching a patch file that fixes it. I suggest
    that you run the patch (or just edit sac/utils/sgftops.c as it is very
    simple), compile it (one does not have to rebuild SAC), put the executable
    in your path and see if it helps.

    Let me know.

    Arthur
    #!/bin/sh

    # cd to sac/utils before you run this script
    # make sure you have write permission to sac/bin

    cat > sgftops.patch << EOF
    --- sgftops-orig.c 2010-06-07 14:10:44.000000000 -0400
    +++ sgftops.c 2010-06-14 18:43:38.000000000 -0400
    @@ -9,7 +9,9 @@
    * sgftox.csh: Script (using gs) produces screen plot.
    * =========================================================================
    * MODIFICATION HISTORY:
    - * 20100208: snoke<at>vt.edu and rwg<at>vt.edumade program independent of byte
    + * 20100614: rwg<at>vt.edu fixed a bug related to the "move" command (values
    + * of x and y were not saved between calls to execute_buffer)
    + * 20100208: snoke<at>vt.edu and rwg<at>vt.edu made program independent of byte
    * order of .sgf file
    * 20090912: snoke<at>vt.edu moved setlinewdith from prologue. Fixed(>)
    * problem with some print drivers that did not see it.
    @@ -419,11 +421,12 @@
    static void execute_buffer(short *buffer, int buflen, int *done, FILE *ofp,
    float red[], float green[], float blue[], int ict) {
    int i, newindx;
    - int x, y, count, dx, dy;
    + int count, dx, dy;
    int iwidth, iheight, xloc, yloc, bufcount, nwrite, charcount;
    int new_width;
    char str[133];

    + static int x, y;
    static int indx = -1, needmove = 0;

    float width, height; /* width and height of viewspace */
    EOF

    patch -p0 < sgftops.patch

    gcc -o ../bin/sgftops sgftops.c

04:58:52 v.22510d55