comparison src/ui_fileops.c @ 1448:89dedc61b1bd

gint -> gboolean.
author zas_
date Sun, 15 Mar 2009 20:16:20 +0000
parents a3d3208b0c50
children 70f94d61b1aa
comparison
equal deleted inserted replaced
1447:a10d70ae85e9 1448:89dedc61b1bd
48 g_free(text_l); 48 g_free(text_l);
49 } 49 }
50 50
51 static void encoding_dialog(const gchar *path); 51 static void encoding_dialog(const gchar *path);
52 52
53 static gint encoding_dialog_idle(gpointer data) 53 static gboolean encoding_dialog_idle(gpointer data)
54 { 54 {
55 gchar *path = data; 55 gchar *path = data;
56 56
57 encoding_dialog(path); 57 encoding_dialog(path);
58 g_free(path); 58 g_free(path);
299 } 299 }
300 300
301 return trash_dir; 301 return trash_dir;
302 } 302 }
303 303
304 gint stat_utf8(const gchar *s, struct stat *st) 304 gboolean stat_utf8(const gchar *s, struct stat *st)
305 { 305 {
306 gchar *sl; 306 gchar *sl;
307 gint ret; 307 gboolean ret;
308 308
309 if (!s) return FALSE; 309 if (!s) return FALSE;
310 sl = path_from_utf8(s); 310 sl = path_from_utf8(s);
311 ret = (stat(sl, st) == 0); 311 ret = (stat(sl, st) == 0);
312 g_free(sl); 312 g_free(sl);
313 313
314 return ret; 314 return ret;
315 } 315 }
316 316
317 gint lstat_utf8(const gchar *s, struct stat *st) 317 gboolean lstat_utf8(const gchar *s, struct stat *st)
318 { 318 {
319 gchar *sl; 319 gchar *sl;
320 gint ret; 320 gboolean ret;
321 321
322 if (!s) return FALSE; 322 if (!s) return FALSE;
323 sl = path_from_utf8(s); 323 sl = path_from_utf8(s);
324 ret = (lstat(sl, st) == 0); 324 ret = (lstat(sl, st) == 0);
325 g_free(sl); 325 g_free(sl);
326 326
327 return ret; 327 return ret;
328 } 328 }
329 329
330 /* extension must contain only ASCII characters */ 330 /* extension must contain only ASCII characters */
331 gint stat_utf8_case_insensitive_ext(GString *base, const gchar *ext, struct stat *st) 331 gboolean stat_utf8_case_insensitive_ext(GString *base, const gchar *ext, struct stat *st)
332 { 332 {
333 gchar *sl; 333 gchar *sl;
334 gchar *extl; 334 gchar *extl;
335 gint ret = 0; 335 gboolean ret = FALSE;
336 gint ext_len; 336 gint ext_len;
337 gint base_len = strlen(base->str); 337 gint base_len = strlen(base->str);
338 338
339 g_string_append(base, ext); 339 g_string_append(base, ext);
340 sl = path_from_utf8(base->str); 340 sl = path_from_utf8(base->str);
370 g_free(sl); 370 g_free(sl);
371 371
372 return ret; 372 return ret;
373 } 373 }
374 374
375 gint isname(const gchar *s) 375 gboolean isname(const gchar *s)
376 { 376 {
377 struct stat st; 377 struct stat st;
378 378
379 return stat_utf8(s, &st); 379 return stat_utf8(s, &st);
380 } 380 }
381 381
382 gint isfile(const gchar *s) 382 gboolean isfile(const gchar *s)
383 { 383 {
384 struct stat st; 384 struct stat st;
385 385
386 return (stat_utf8(s, &st) && S_ISREG(st.st_mode)); 386 return (stat_utf8(s, &st) && S_ISREG(st.st_mode));
387 } 387 }
388 388
389 gint isdir(const gchar *s) 389 gboolean isdir(const gchar *s)
390 { 390 {
391 struct stat st; 391 struct stat st;
392 392
393 return (stat_utf8(s, &st) && S_ISDIR(st.st_mode)); 393 return (stat_utf8(s, &st) && S_ISDIR(st.st_mode));
394 } 394 }
395 395
396 gint islink(const gchar *s) 396 gboolean islink(const gchar *s)
397 { 397 {
398 struct stat st; 398 struct stat st;
399 399
400 return (lstat_utf8(s, &st) && S_ISLNK(st.st_mode)); 400 return (lstat_utf8(s, &st) && S_ISLNK(st.st_mode));
401 } 401 }
414 414
415 if (!stat_utf8(s, &st)) return 0; 415 if (!stat_utf8(s, &st)) return 0;
416 return st.st_mtime; 416 return st.st_mtime;
417 } 417 }
418 418
419 gint filetime_set(const gchar *s, time_t tval) 419 gboolean filetime_set(const gchar *s, time_t tval)
420 { 420 {
421 gboolean ret = FALSE; 421 gboolean ret = FALSE;
422 422
423 if (tval > 0) 423 if (tval > 0)
424 { 424 {
439 { 439 {
440 if (!s || !s[0] || !isfile(s)) return FALSE; 440 if (!s || !s[0] || !isfile(s)) return FALSE;
441 return access_file(s, R_OK); 441 return access_file(s, R_OK);
442 } 442 }
443 443
444 gint access_file(const gchar *s, gint mode) 444 gboolean access_file(const gchar *s, gint mode)
445 { 445 {
446 gchar *sl; 446 gchar *sl;
447 gint ret; 447 gint ret;
448 448
449 if (!s || !s[0]) return FALSE; 449 if (!s || !s[0]) return FALSE;
453 g_free(sl); 453 g_free(sl);
454 454
455 return ret; 455 return ret;
456 } 456 }
457 457
458 gint unlink_file(const gchar *s) 458 gboolean unlink_file(const gchar *s)
459 { 459 {
460 gchar *sl; 460 gchar *sl;
461 gint ret; 461 gboolean ret;
462 462
463 if (!s) return FALSE; 463 if (!s) return FALSE;
464 464
465 sl = path_from_utf8(s); 465 sl = path_from_utf8(s);
466 ret = (unlink(sl) == 0); 466 ret = (unlink(sl) == 0);
467 g_free(sl); 467 g_free(sl);
468 468
469 return ret; 469 return ret;
470 } 470 }
471 471
472 gint symlink_utf8(const gchar *source, const gchar *target) 472 gboolean symlink_utf8(const gchar *source, const gchar *target)
473 { 473 {
474 gchar *sl; 474 gchar *sl;
475 gchar *tl; 475 gchar *tl;
476 gint ret; 476 gboolean ret;
477 477
478 if (!source || !target) return FALSE; 478 if (!source || !target) return FALSE;
479 479
480 sl = path_from_utf8(source); 480 sl = path_from_utf8(source);
481 tl = path_from_utf8(target); 481 tl = path_from_utf8(target);
486 g_free(tl); 486 g_free(tl);
487 487
488 return ret; 488 return ret;
489 } 489 }
490 490
491 gint mkdir_utf8(const gchar *s, gint mode) 491 gboolean mkdir_utf8(const gchar *s, gint mode)
492 { 492 {
493 gchar *sl; 493 gchar *sl;
494 gint ret; 494 gboolean ret;
495 495
496 if (!s) return FALSE; 496 if (!s) return FALSE;
497 497
498 sl = path_from_utf8(s); 498 sl = path_from_utf8(s);
499 ret = (mkdir(sl, mode) == 0); 499 ret = (mkdir(sl, mode) == 0);
500 g_free(sl); 500 g_free(sl);
501 return ret; 501 return ret;
502 } 502 }
503 503
504 gint rmdir_utf8(const gchar *s) 504 gboolean rmdir_utf8(const gchar *s)
505 { 505 {
506 gchar *sl; 506 gchar *sl;
507 gint ret; 507 gboolean ret;
508 508
509 if (!s) return FALSE; 509 if (!s) return FALSE;
510 510
511 sl = path_from_utf8(s); 511 sl = path_from_utf8(s);
512 ret = (rmdir(sl) == 0); 512 ret = (rmdir(sl) == 0);
513 g_free(sl); 513 g_free(sl);
514 514
515 return ret; 515 return ret;
516 } 516 }
517 517
518 gint copy_file_attributes(const gchar *s, const gchar *t, gint perms, gint mtime) 518 gboolean copy_file_attributes(const gchar *s, const gchar *t, gint perms, gint mtime)
519 { 519 {
520 struct stat st; 520 struct stat st;
521 gchar *sl, *tl; 521 gchar *sl, *tl;
522 gboolean ret = FALSE; 522 gboolean ret = FALSE;
523 523
547 547
548 return ret; 548 return ret;
549 } 549 }
550 550
551 /* paths are in filesystem encoding */ 551 /* paths are in filesystem encoding */
552 static gint hard_linked(const gchar *a, const gchar *b) 552 static gboolean hard_linked(const gchar *a, const gchar *b)
553 { 553 {
554 struct stat sta; 554 struct stat sta;
555 struct stat stb; 555 struct stat stb;
556 556
557 if (stat(a, &sta) != 0 || stat(b, &stb) != 0) return FALSE; 557 if (stat(a, &sta) != 0 || stat(b, &stb) != 0) return FALSE;
558 558
559 return (sta.st_dev == stb.st_dev && 559 return (sta.st_dev == stb.st_dev &&
560 sta.st_ino == stb.st_ino); 560 sta.st_ino == stb.st_ino);
561 } 561 }
562 562
563 gint copy_file(const gchar *s, const gchar *t) 563 gboolean copy_file(const gchar *s, const gchar *t)
564 { 564 {
565 FILE *fi = NULL; 565 FILE *fi = NULL;
566 FILE *fo = NULL; 566 FILE *fo = NULL;
567 gchar *sl, *tl; 567 gchar *sl, *tl;
568 gchar buf[4096]; 568 gchar buf[4096];
610 copy_file_attributes(s, t, TRUE, TRUE); 610 copy_file_attributes(s, t, TRUE, TRUE);
611 611
612 return TRUE; 612 return TRUE;
613 } 613 }
614 614
615 gint move_file(const gchar *s, const gchar *t) 615 gboolean move_file(const gchar *s, const gchar *t)
616 { 616 {
617 gchar *sl, *tl; 617 gchar *sl, *tl;
618 gboolean ret = TRUE; 618 gboolean ret = TRUE;
619 619
620 if (!s || !t) return FALSE; 620 if (!s || !t) return FALSE;
642 g_free(tl); 642 g_free(tl);
643 643
644 return ret; 644 return ret;
645 } 645 }
646 646
647 gint rename_file(const gchar *s, const gchar *t) 647 gboolean rename_file(const gchar *s, const gchar *t)
648 { 648 {
649 gchar *sl, *tl; 649 gchar *sl, *tl;
650 gint ret; 650 gboolean ret;
651 651
652 if (!s || !t) return FALSE; 652 if (!s || !t) return FALSE;
653 653
654 sl = path_from_utf8(s); 654 sl = path_from_utf8(s);
655 tl = path_from_utf8(t); 655 tl = path_from_utf8(t);
694 } 694 }
695 695
696 return g_list_reverse(new_list); 696 return g_list_reverse(new_list);
697 } 697 }
698 698
699 gchar *unique_filename(const gchar *path, const gchar *ext, const gchar *divider, gint pad) 699 gchar *unique_filename(const gchar *path, const gchar *ext, const gchar *divider, gboolean pad)
700 { 700 {
701 gchar *unique; 701 gchar *unique;
702 gint n = 1; 702 gint n = 1;
703 703
704 if (!ext) ext = ""; 704 if (!ext) ext = "";
789 { 789 {
790 if (!path) return NULL; 790 if (!path) return NULL;
791 return strrchr(path, '.'); 791 return strrchr(path, '.');
792 } 792 }
793 793
794 gint file_extension_match(const gchar *path, const gchar *ext) 794 gboolean file_extension_match(const gchar *path, const gchar *ext)
795 { 795 {
796 gint p; 796 gint p;
797 gint e; 797 gint e;
798 798
799 if (!path) return FALSE; 799 if (!path) return FALSE;
861 if (t == 0 && path[t] == G_DIR_SEPARATOR) t++; 861 if (t == 0 && path[t] == G_DIR_SEPARATOR) t++;
862 if (t > 1 && path[t-1] == G_DIR_SEPARATOR) t--; 862 if (t > 1 && path[t-1] == G_DIR_SEPARATOR) t--;
863 path[t] = '\0'; 863 path[t] = '\0';
864 } 864 }
865 865
866 gint file_in_path(const gchar *name) 866 gboolean file_in_path(const gchar *name)
867 { 867 {
868 gchar *path; 868 gchar *path;
869 gchar *namel; 869 gchar *namel;
870 gint p, l; 870 gint p, l;
871 gboolean ret = FALSE; 871 gboolean ret = FALSE;