~ubuntu-branches/ubuntu/vivid/grass/vivid-proposed

« back to all changes in this revision

Viewing changes to raster/r.surf.contour/dseg_read.c

  • Committer: Package Import Robot
  • Author(s): Bas Couwenberg
  • Date: 2015-02-20 23:12:08 UTC
  • mfrom: (8.2.6 experimental)
  • Revision ID: package-import@ubuntu.com-20150220231208-1u6qvqm84v430b10
Tags: 7.0.0-1~exp1
* New upstream release.
* Update python-ctypes-ternary.patch to use if/else instead of and/or.
* Drop check4dev patch, rely on upstream check.
* Add build dependency on libpq-dev to grass-dev for libpq-fe.h.
* Drop patches applied upstream, refresh remaining patches.
* Update symlinks for images switched from jpg to png.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include <grass/gis.h>
2
 
#include <unistd.h>
3
 
#include "seg.h"
4
 
 
5
 
static char *me = "dseg_read_cell";
6
 
 
7
 
int dseg_read_cell(DSEG * dseg, char *map_name, char *mapset)
8
 
{
9
 
    int row, nrows;
10
 
    int map_fd;
11
 
    char msg[100];
12
 
    DCELL *buffer;
13
 
 
14
 
    dseg->name = NULL;
15
 
    dseg->mapset = NULL;
16
 
 
17
 
    if ((map_fd = G_open_cell_old(map_name, mapset)) < 0) {
18
 
        sprintf(msg, "%s(): unable to open file [%s] in [%s]",
19
 
                me, map_name, mapset);
20
 
        G_warning(msg);
21
 
        return -3;
22
 
    }
23
 
    nrows = G_window_rows();
24
 
    buffer = G_allocate_d_raster_buf();
25
 
    for (row = 0; row < nrows; row++) {
26
 
        if (G_get_d_raster_row(map_fd, buffer, row) < 0) {
27
 
            G_free(buffer);
28
 
            G_close_cell(map_fd);
29
 
            sprintf(msg, "%s(): unable to read file [%s] in [%s]",
30
 
                    me, map_name, mapset);
31
 
            G_warning(msg);
32
 
            return -2;
33
 
        }
34
 
        if (segment_put_row(&(dseg->seg), buffer, row) < 0) {
35
 
            G_free(buffer);
36
 
            G_close_cell(map_fd);
37
 
            sprintf(msg, "%s(): unable to segment put row for [%s] in [%s]",
38
 
                    me, map_name, mapset);
39
 
            G_warning(msg);
40
 
            return (-1);
41
 
        }
42
 
    }
43
 
 
44
 
    G_close_cell(map_fd);
45
 
    G_free(buffer);
46
 
 
47
 
    dseg->name = G_store(map_name);
48
 
    dseg->mapset = G_store(mapset);
49
 
 
50
 
    return 0;
51
 
}