45 lines
		
	
	
		
			866 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			866 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#include "tai.h"
							 | 
						||
| 
								 | 
							
								#include "caldate.h"
							 | 
						||
| 
								 | 
							
								#include "caltime.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								unsigned int caltime_fmt(char *s, struct caltime *ct)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  unsigned int result;
							 | 
						||
| 
								 | 
							
								  long x;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  result = caldate_fmt(s,&ct->date);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (s) {
							 | 
						||
| 
								 | 
							
								    s += result;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    x = ct->hour;
							 | 
						||
| 
								 | 
							
								    s[0] = ' ';
							 | 
						||
| 
								 | 
							
								    s[2] = '0' + (char)(x % 10); x /= 10;
							 | 
						||
| 
								 | 
							
								    s[1] = '0' + (char)(x % 10);
							 | 
						||
| 
								 | 
							
								    s += 3;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    x = ct->minute;
							 | 
						||
| 
								 | 
							
								    s[0] = ':';
							 | 
						||
| 
								 | 
							
								    s[2] = '0' + (char)(x % 10); x /= 10;
							 | 
						||
| 
								 | 
							
								    s[1] = '0' + (char)(x % 10);
							 | 
						||
| 
								 | 
							
								    s += 3;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    x = ct->second;
							 | 
						||
| 
								 | 
							
								    s[0] = ':';
							 | 
						||
| 
								 | 
							
								    s[2] = '0' + (char)(x % 10); x /= 10;
							 | 
						||
| 
								 | 
							
								    s[1] = '0' + (char)(x % 10);
							 | 
						||
| 
								 | 
							
								    s += 3;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    s[0] = ' ';
							 | 
						||
| 
								 | 
							
								    x = ct->offset;
							 | 
						||
| 
								 | 
							
								    if (x < 0) { s[1] = '-'; x = -x; } else s[1] = '+';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    s[5] = '0' + (char)(x % 10); x /= 10;
							 | 
						||
| 
								 | 
							
								    s[4] = '0' + (char)(x % 6); x /= 6;
							 | 
						||
| 
								 | 
							
								    s[3] = '0' + (char)(x % 10); x /= 10;
							 | 
						||
| 
								 | 
							
								    s[2] = '0' + (char)(x % 10);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return result + 15;
							 | 
						||
| 
								 | 
							
								}
							 |