Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. #define _GNU_SOURCE
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <errno.h>
  5. #include <pthread.h>
  6. #include <ctype.h>
  7. #include <string.h>
  8. #include <fcntl.h>
  9. #include <unistd.h>
  10. #include <sys/types.h>
  11. #include <sys/wait.h>
  12. #include <time.h>
  13.  
  14.  
  15.  
  16.  
  17. #define OsErrorFatal(msg) OsErrorFatalImpl(msg, __FILE__, __func__, __LINE__)
  18.  
  19. #define OsAssert(cond, msg) \
  20. do{ \
  21. if(!(cond)) \
  22. OsErrorFatal(msg); \
  23. }while(0);
  24.  
  25. #define OsCheckPThread(pthreaderr, msg) \
  26. do{ \
  27. int pthread_err = pthreaderr; \
  28. if(pthread_err) \
  29. { \
  30. errno = pthread_err; \
  31. OsErrorFatal(msg); \
  32. } \
  33. }while(0);
  34.  
  35. void OsErrorFatalImpl(char* msg, const char* file, const char* funk, int line);
  36.  
  37.  
  38. #define WR_END 1
  39. #define RD_END 0
  40.  
  41. int unlocked = 0;
  42. int locked = 0;
  43.  
  44. int main(int argc, char** argv)
  45. {
  46. OsAssert( argc == 2, "flmaspf");
  47.  
  48. int pomeri = atoi(argv[1]);
  49.  
  50. time_t trenutno = time(NULL);
  51.  
  52. OsAssert( trenutno != -1, "vreme failed us");
  53.  
  54. struct tm* vreme_seksi = localtime(&trenutno);
  55. OsAssert( vreme_seksi != NULL, "lokal fejld");
  56.  
  57. vreme_seksi->tm_mday += pomeri;
  58.  
  59. trenutno = mktime(vreme_seksi);
  60. OsAssert( trenutno != -1, "mktime failed us");
  61.  
  62. vreme_seksi = localtime(&trenutno);
  63. OsAssert( vreme_seksi != NULL, "lokal again fejld");
  64.  
  65. switch (vreme_seksi->tm_wday)
  66. {
  67. case 0:
  68. printf("ned");
  69. break;
  70. case 1:
  71. printf("pon");
  72. break;
  73. case 2:
  74. printf("uto");
  75. break;
  76. case 3:
  77. printf("sre");
  78. break;
  79. case 4:
  80. printf("cetv");
  81. break;
  82. case 5:
  83. printf("pet");
  84. break;
  85. case 6:
  86. printf("sub");
  87. break;
  88. default:
  89. break;
  90. }
  91.  
  92. exit(EXIT_SUCCESS);
  93. }
  94.  
  95.  
  96.  
  97. void OsErrorFatalImpl(char* msg, const char* file, const char* funk, int line)
  98. {
  99. perror(msg);
  100. fprintf(stderr, "%s:%s:%d", file, funk, line);
  101. exit(EXIT_FAILURE);
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement