Changeset 18561 for trunk/ippTools/src/pxtools.h
- Timestamp:
- Jul 15, 2008, 10:30:59 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/pxtools.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/pxtools.h
r18366 r18561 22 22 23 23 #include <stdio.h> 24 #include <string.h> // for strcmp and strncmp 24 25 #include <strings.h> // for strcasecmp 25 26 #include <unistd.h> // for unlink 27 28 // #include <stdlib.h> 29 // #include <stdint.h> 30 // #include <inttypes.h> 31 26 32 #include <pslib.h> 27 33 #include <psmodules.h> … … 253 259 PXOPT_COPY_PRIMITIVE(from, to, psU64, U64, oldname, newname, comment) 254 260 261 262 /*** these PXOPT_ADD_WHERE macros are used to construct the default sql elements ***/ 263 264 #define PXOPT_ADD_WHERE_STR(name) \ 265 { \ 266 psString str = NULL; \ 267 bool status = false; \ 268 if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \ 269 if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\ 270 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 271 psFree(config); \ 272 return NULL; \ 273 } \ 274 } \ 275 } 276 277 #define PXOPT_ADD_WHERE_STR_ALIAS(name,realname) \ 278 { \ 279 psString str = NULL; \ 280 bool status = false; \ 281 if ((str = psMetadataLookupStr(&status, config->args, name))) { \ 282 if (!psMetadataAddStr(config->where, PS_LIST_TAIL, realname, 0, "==", str)) {\ 283 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", name); \ 284 psFree(config); \ 285 return NULL; \ 286 } \ 287 } \ 288 } 289 290 #define PXOPT_ADD_WHERE_S16(name) \ 291 { \ 292 psS16 s16 = 0; \ 293 bool status = false; \ 294 if ((s16= psMetadataLookupS16(&status, config->args, "-" #name))) { \ 295 if (!psMetadataAddS16(config->where, PS_LIST_TAIL, #name, 0, "==", s16)) { \ 296 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 297 psFree(config); \ 298 return NULL; \ 299 } \ 300 } \ 301 } 302 303 #define PXOPT_ADD_WHERE_BOOL(name) \ 304 { \ 305 bool value = false; \ 306 bool status = false; \ 307 if ((value = psMetadataLookupBool(&status, config->args, "-" #name))) { \ 308 if (!psMetadataAddBool(config->where, PS_LIST_TAIL, #name, 0, "==", value)) { \ 309 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 310 psFree(config); \ 311 return NULL; \ 312 } \ 313 } \ 314 } 315 316 #define PXOPT_ADD_WHERE_S32(name) \ 317 { \ 318 psS32 s32 = 0; \ 319 bool status = false; \ 320 if ((s32= psMetadataLookupS32(&status, config->args, "-" #name))) { \ 321 if (!psMetadataAddS32(config->where, PS_LIST_TAIL, #name, 0, "==", s32)) { \ 322 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 323 psFree(config); \ 324 return NULL; \ 325 } \ 326 } \ 327 } 328 329 #define PXOPT_ADD_WHERE_S64(name) \ 330 { \ 331 psS64 s64 = 0; \ 332 bool status = false; \ 333 if ((s64= psMetadataLookupS64(&status, config->args, "-" #name))) { \ 334 if (!psMetadataAddS64(config->where, PS_LIST_TAIL, #name, 0, "==", s64)) { \ 335 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 336 psFree(config); \ 337 return NULL; \ 338 } \ 339 } \ 340 } 341 342 #define PXOPT_ADD_WHERE_F32(name) \ 343 { \ 344 psF32 var = 0; \ 345 bool status = false; \ 346 if ((var = psMetadataLookupF32(&status, config->args, "-" #name))) { \ 347 if (!isnan(var)) { \ 348 if (!psMetadataAddF32(config->where, PS_LIST_TAIL, #name, 0, "==", var)) { \ 349 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 350 psFree(config); \ 351 return NULL; \ 352 } \ 353 } \ 354 } \ 355 } 356 357 #define PXOPT_ADD_WHERE_F64(name) \ 358 { \ 359 psF64 var = 0; \ 360 bool status = false; \ 361 if ((var = psMetadataLookupF64(&status, config->args, "-" #name))) { \ 362 if (!isnan(var)) { \ 363 if (!psMetadataAddF64(config->where, PS_LIST_TAIL, #name, 0, "==", var)) { \ 364 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 365 psFree(config); \ 366 return NULL; \ 367 } \ 368 } \ 369 } \ 370 } 371 372 #define PXOPT_ADD_WHERE_BOOL_ALIAS(flag,name) \ 373 { \ 374 bool value = 0; \ 375 bool status = false; \ 376 if ((value = psMetadataLookupBool(&status, config->args, flag))) { \ 377 if (!psMetadataAddBOOL(config->where, PS_LIST_TAIL, name, 0, "==", value)) { \ 378 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", flag); \ 379 psFree(config); \ 380 return NULL; \ 381 } \ 382 } \ 383 } 384 385 #define PXOPT_ADD_WHERE_S16_ALIAS(flag,name) \ 386 { \ 387 psS16 s16 = 0; \ 388 bool status = false; \ 389 if ((s16= psMetadataLookupS16(&status, config->args, flag))) { \ 390 if (!psMetadataAddS16(config->where, PS_LIST_TAIL, name, 0, "==", s16)) { \ 391 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", flag); \ 392 psFree(config); \ 393 return NULL; \ 394 } \ 395 } \ 396 } 397 398 #define PXOPT_ADD_WHERE_S32_ALIAS(flag,name) \ 399 { \ 400 psS32 s32 = 0; \ 401 bool status = false; \ 402 if ((s32= psMetadataLookupS32(&status, config->args, flag))) { \ 403 if (!psMetadataAddS32(config->where, PS_LIST_TAIL, name, 0, "==", s32)) { \ 404 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", flag); \ 405 psFree(config); \ 406 return NULL; \ 407 } \ 408 } \ 409 } 410 411 #define PXOPT_ADD_WHERE_S64_ALIAS(flag,name) \ 412 { \ 413 psS64 s64 = 0; \ 414 bool status = false; \ 415 if ((s64= psMetadataLookupS64(&status, config->args, flag))) { \ 416 if (!psMetadataAddS64(config->where, PS_LIST_TAIL, name, 0, "==", s64)) { \ 417 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", flag); \ 418 psFree(config); \ 419 return NULL; \ 420 } \ 421 } \ 422 } 423 424 #define PXOPT_ADD_WHERE_F32_ALIAS(flag,name) \ 425 { \ 426 psF32 var = 0; \ 427 bool status = false; \ 428 if ((var = psMetadataLookupF32(&status, config->args, flag))) { \ 429 if (!isnan(var)) { \ 430 if (!psMetadataAddF32(config->where, PS_LIST_TAIL, name, 0, "==", var)) { \ 431 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", flag); \ 432 psFree(config); \ 433 return NULL; \ 434 } \ 435 } \ 436 } \ 437 } 438 439 #define PXOPT_ADD_WHERE_F64_ALIAS(flag,name) \ 440 { \ 441 psF64 var = 0; \ 442 bool status = false; \ 443 if ((var = psMetadataLookupF64(&status, config->args, flag))) { \ 444 if (!isnan(var)) { \ 445 if (!psMetadataAddF64(config->where, PS_LIST_TAIL, name, 0, "==", var)) { \ 446 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", flag); \ 447 psFree(config); \ 448 return NULL; \ 449 } \ 450 } \ 451 } \ 452 } 453 454 #define PXOPT_ADD_WHERE_TIME_STR(name) \ 455 { \ 456 psString str = NULL; \ 457 bool status = false; \ 458 if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \ 459 psTime *time = psTimeFromISO(str, PS_TIME_UTC); \ 460 if (!time) { \ 461 psError(PS_ERR_UNKNOWN, false, "failed to convert " #name " into a psTime object"); \ 462 psFree(config); \ 463 return NULL; \ 464 } \ 465 psMetadataItem *item = psMetadataLookup(config->args, "-" #name); \ 466 if (item) { \ 467 str = item->comment; \ 468 } else { \ 469 str = NULL; \ 470 } \ 471 if (!psMetadataAddTime(config->where, PS_LIST_TAIL, #name, 0, str, time)) {\ 472 psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \ 473 psFree(config); \ 474 return NULL; \ 475 } \ 476 psFree(time); \ 477 } \ 478 } 479 255 480 #endif // PXTOOLS_H
Note:
See TracChangeset
for help on using the changeset viewer.
