• Main Page
  • Related Pages
  • Data Structures
  • Files
  • File List
  • Globals

key_value2.c

Go to the documentation of this file.
00001 
00016 #include <grass/gis.h>
00017 
00027 int G_fwrite_key_value(FILE * fd, const struct Key_Value *kv)
00028 {
00029     int n;
00030     int err;
00031 
00032     err = 0;
00033     for (n = 0; n < kv->nitems; n++)
00034         if (kv->value[n][0]) {
00035             if (EOF == fprintf(fd, "%s: %s\n", kv->key[n], kv->value[n]))
00036                 err = -1;
00037         }
00038     return err;
00039 }
00040 
00051 struct Key_Value *G_fread_key_value(FILE * fd)
00052 {
00053     struct Key_Value *kv;
00054     char *key, *value;
00055     char buf[1024];
00056 
00057     kv = G_create_key_value();
00058     if (kv == NULL)
00059         return NULL;
00060     while (G_getl2(buf, sizeof(buf) - 1, fd) != 0) {
00061         key = value = buf;
00062         while (*value && *value != ':')
00063             value++;
00064         if (*value != ':')
00065             continue;
00066         *value++ = 0;
00067         G_strip(key);
00068         G_strip(value);
00069         if (!G_set_key_value(key, value, kv)) {
00070             G_free_key_value(kv);
00071             return NULL;
00072         }
00073     }
00074     return kv;
00075 }

Generated on Thu Dec 9 2010 20:46:05 for GRASS Programmer's Manual by  doxygen 1.7.2