/[xlog]/xlog/src/logfile/adif.c
ViewVC logotype

Diff of /xlog/src/logfile/adif.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by pa4tu, Fri Jan 14 20:12:03 2005 UTC revision 1.8 by pa4tu, Fri Jan 14 21:19:25 2005 UTC
# Line 71  const struct log_ops adif_ops = { Line 71  const struct log_ops adif_ops = {
71  static gint adif_qso_foreach  static gint adif_qso_foreach
72  (LOGDB *handle,  gint (*fn)(LOGDB*, qso_t*, gpointer arg), gpointer arg)  (LOGDB *handle,  gint (*fn)(LOGDB*, qso_t*, gpointer arg), gpointer arg)
73  {  {
74          gchar line [1024], sdate[16], *buffer;          gchar line [1024], sdate[16], *buffer, *p;
75          gchar **adifline, **adifitem, **adifid;          gchar **adifline, **adifitem, **adifid;
76          gint ret, items, i=0;          gint ret, items, i=0;
77          struct tm timestruct;          struct tm timestruct;
# Line 102  static gint adif_qso_foreach Line 102  static gint adif_qso_foreach
102                          if (items > 2) /* we have a valid adif line*/                          if (items > 2) /* we have a valid adif line*/
103                          {                          {
104                                  for (i = 0; i < items; i++)                                  for (i = 0; i < items; i++)
105                                  if (g_strrstr (adifline[i], ">") && g_strrstr (adifline[i], ":"))                                  if (g_strrstr (adifline[i], ">")
106                                                    && g_strrstr (adifline[i], ":"))
107                                  /* valid adif item */                                  /* valid adif item */
108                                  {                                  {
109                                          adifitem = g_strsplit (adifline[i], ">", 2);                                          adifitem = g_strsplit (adifline[i], ">", 2);
# Line 112  static gint adif_qso_foreach Line 113  static gint adif_qso_foreach
113                                          if (!strcasecmp (adifid[0], "CALL"))                                          if (!strcasecmp (adifid[0], "CALL"))
114                                          {                                          {
115                                                  adif_field = CALL;                                                  adif_field = CALL;
116                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
117                                                            g_strndup (adifitem[1], atoi(adifid[1]));
118                                          }                                          }
119                                          else if (!strcasecmp (adifid[0], "QSO_DATE"))                                          else if (!strcasecmp (adifid[0], "QSO_DATE"))
120                                          {                                          {
# Line 127  static gint adif_qso_foreach Line 129  static gint adif_qso_foreach
129                                          else if (!strcasecmp (adifid[0], "TIME_ON"))                                          else if (!strcasecmp (adifid[0], "TIME_ON"))
130                                          {                                          {
131                                                  adif_field = GMT;                                                  adif_field = GMT;
132                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
133                                                            g_strndup (adifitem[1], atoi(adifid[1]));
134                                          }                                          }
135                                          else if (!strcasecmp (adifid[0], "TIME_OFF"))                                          else if (!strcasecmp (adifid[0], "TIME_OFF"))
136                                          {                                          {
137                                                  adif_field = GMTEND;                                                  adif_field = GMTEND;
138                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
139                                                            g_strndup (adifitem[1], atoi(adifid[1]));
140                                          }                                          }
141                                          else if (!strcasecmp (adifid[0], "BAND"))                                          else if (!strcasecmp (adifid[0], "BAND"))
142                                          {                                          {
# Line 140  static gint adif_qso_foreach Line 144  static gint adif_qso_foreach
144                                                  if (!q[BAND])                                                  if (!q[BAND])
145                                                  {                                                  {
146                                                          adif_field = BAND;                                                          adif_field = BAND;
147                                                          q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                          q[adif_field] =
148                                                                    g_strndup (adifitem[1], atoi(adifid[1]));
149                                                  }                                                  }
150                                          }                                          }
151                                          else if (!strcasecmp (adifid[0], "FREQ"))                                          else if (!strcasecmp (adifid[0], "FREQ"))
# Line 152  static gint adif_qso_foreach Line 157  static gint adif_qso_foreach
157                                                          q[BAND] = NULL;                                                          q[BAND] = NULL;
158                                                  }                                                  }
159                                                  adif_field = BAND;                                                  adif_field = BAND;
160                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  if ((p = g_strrstr(adifitem[1], ",")))
161                                                            *p = '.';
162                                                    q[adif_field] =
163                                                            g_strndup (adifitem[1], atoi(adifid[1]));
164                                          }                                          }
165                                          else if (!strcasecmp (adifid[0], "MODE"))                                          else if (!strcasecmp (adifid[0], "MODE"))
166                                          {                                          {
167                                                  adif_field = MODE;                                                  adif_field = MODE;
168                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
169                                                            g_strndup (adifitem[1], atoi(adifid[1]));
170                                          }                                          }
171                                          else if (!strcasecmp (adifid[0], "TX_PWR"))                                          else if (!strcasecmp (adifid[0], "TX_PWR"))
172                                          {                                          {
173                                                  adif_field = POWER;                                                  adif_field = POWER;
174                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
175                                                            g_strndup (adifitem[1], atoi(adifid[1]));
176                                          }                                          }
177                                          else if (!strcasecmp (adifid[0], "RST_SENT"))                                          else if (!strcasecmp (adifid[0], "RST_SENT"))
178                                          {                                          {
179                                                  adif_field = RST;                                                  adif_field = RST;
180                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
181                                                            g_strndup (adifitem[1], atoi(adifid[1]));
182                                          }                                          }
183                                          else if (!strcasecmp (adifid[0], "RST_RCVD"))                                          else if (!strcasecmp (adifid[0], "RST_RCVD"))
184                                          {                                          {
185                                                  adif_field = MYRST;                                                  adif_field = MYRST;
186                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
187                                                            g_strndup (adifitem[1], atoi(adifid[1]));
188                                          }                                          }
189                                          else if (!strcasecmp (adifid[0], "QSL_SENT"))                                          else if (!strcasecmp (adifid[0], "QSL_SENT"))
190                                          {                                          {
191                                                  adif_field = QSLOUT;                                                  adif_field = QSLOUT;
192                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
193                                                            g_strndup (adifitem[1], atoi(adifid[1]));
194                                          }                                          }
195                                          else if (!strcasecmp (adifid[0], "QSL_RCVD"))                                          else if (!strcasecmp (adifid[0], "QSL_RCVD"))
196                                          {                                          {
197                                                  adif_field = QSLIN;                                                  adif_field = QSLIN;
198                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
199                                                            g_strndup (adifitem[1], atoi(adifid[1]));
200                                          }                                          }
201                                          else if (!strcasecmp (adifid[0], "NAME"))                                          else if (!strcasecmp (adifid[0], "NAME"))
202                                          {                                          {
203                                                  adif_field = NAME;                                                  adif_field = NAME;
204                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
205                                                            g_strndup (adifitem[1], atoi(adifid[1]));
206                                          }                                          }
207                                          else if (!strcasecmp (adifid[0], "QTH"))                                          else if (!strcasecmp (adifid[0], "QTH"))
208                                          {                                          {
209                                                  adif_field = QTH;                                                  adif_field = QTH;
210                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
211                                                            g_strndup (adifitem[1], atoi(adifid[1]));
212                                          }                                          }
213                                          else if (!strcasecmp (adifid[0], "GRIDSQUARE"))                                          else if (!strcasecmp (adifid[0], "GRIDSQUARE"))
214                                          {                                          {
215                                                  adif_field = LOCATOR;                                                  adif_field = LOCATOR;
216                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
217                                                            g_strndup (adifitem[1], atoi(adifid[1]));
218                                          }                                          }
219                                          else if (!strcasecmp (adifid[0], "COMMENT"))                                          else if (!strcasecmp (adifid[0], "COMMENT"))
220                                          {                                          {
221                                                  adif_field = REMARKS;                                                  adif_field = REMARKS;
222                                                  q[adif_field] = g_strndup (adifitem[1], atoi(adifid[1]));                                                  q[adif_field] =
223                                                            g_strndup (adifitem[1], atoi(adifid[1]));
224                                          }                                          }
225                    
226                                          g_strfreev (adifid);                                          g_strfreev (adifid);
# Line 266  gint adif_create(LOGDB *handle) Line 284  gint adif_create(LOGDB *handle)
284    
285          /* write header */          /* write header */
286          fprintf(fp, "ADIF Export from " PACKAGE " Version " VERSION "\n"          fprintf(fp, "ADIF Export from " PACKAGE " Version " VERSION "\n"
287                                  "Copyright (C) 2001-2004 Joop Stakenborg <pg4i@amsat.org>\n"                                  "Copyright (C) 2001-2005 Joop Stakenborg <pg4i@amsat.org>\n"
288                                  "Internet:  http://www.qsl.net/pg4i/linux/xlog.html\n\n"                                  "Internet:  http://www.qsl.net/pg4i/linux/xlog.html\n\n"
289                                  "Date of export: %s\n",                                  "Date of export: %s\n",
290                                  sdate);                                  sdate);

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26