ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/statgrab/statgrab.c
(Generate patch)

Comparing projects/libstatgrab/src/statgrab/statgrab.c (file contents):
Revision 1.9 by ats, Sun Aug 31 13:23:19 2003 UTC vs.
Revision 1.10 by ats, Sat Oct 18 16:12:03 2003 UTC

# Line 268 | Line 268 | void populate_fs() {
268          if (disk != NULL) {
269                  for (i = 0; i < n; i++) {
270                          /* FIXME it'd be nicer if libstatgrab did this */
271 <                        const char *name = disk[i].device_name,
272 <                                   *p = strrchr(name, '/');
273 <                        if (p != NULL)
274 <                                name = p + 1;
275 <                        if (*name == '\0')
276 <                                name = "root";
277 <        
271 >                        char *buf, *name, *p;
272 >                        const char *device = disk[i].device_name;
273 >
274 >                        if (strcmp(device, "/") == 0)
275 >                                device = "root";
276 >
277 >                        buf = strdup(device);
278 >                        if (buf == NULL)
279 >                                die("out of memory");
280 >
281 >                        name = buf;
282 >                        if (strncmp(name, "/dev/", 5) == 0)
283 >                                name += 5;
284 >                        while ((p = strchr(name, '/')) != NULL)
285 >                                *p = '_';
286 >
287                          add_stat(STRING, &disk[i].device_name,
288                                   "fs", name, "device_name", NULL);
289                          add_stat(STRING, &disk[i].fs_type,
# Line 293 | Line 302 | void populate_fs() {
302                                   "fs", name, "used_inodes", NULL);
303                          add_stat(LONG_LONG, &disk[i].free_inodes,
304                                   "fs", name, "free_inodes", NULL);
305 +
306 +                        free(buf);
307                  }
308          }
309   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines