ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/libstatgrab/network_stats.c
(Generate patch)

Comparing projects/libstatgrab/src/libstatgrab/network_stats.c (file contents):
Revision 1.7 by pajs, Tue Mar 11 14:30:39 2003 UTC vs.
Revision 1.9 by pajs, Wed Mar 12 16:15:48 2003 UTC

# Line 190 | Line 190 | network_stat_t *get_network_stats(int *entries){
190          return network_stats;  
191   }
192  
193 + long long transfer_diff(long long new, long long old){
194 + #ifdef SOL7
195 + #define MAXVAL 4294967296
196 + #else
197 + #define MAXVAL 18446744073709551616
198 + #endif
199 +        long long result;
200 +        if(new>old){
201 +                result = (new-old);
202 +        }else{
203 +                result = (MAXVAL+(new-old));
204 +        }
205 +
206 +        return result;
207 +
208 + }
209 +
210   network_stat_t *get_network_stats_diff(int *entries){
211          static network_stat_t *network_stats_diff=NULL;
212          static int sizeof_net_stats_diff=0;
# Line 228 | Line 245 | network_stat_t *get_network_stats_diff(int *entries){
245          for(x=0;x<sizeof_net_stats_diff;x++){
246  
247                  if((strcmp(network_stats_diff_ptr->interface_name, network_stats_ptr->interface_name))==0){
248 <                        network_stats_diff_ptr->tx = network_stats_ptr->tx - network_stats_diff_ptr->tx;
249 <                        network_stats_diff_ptr->rx = network_stats_ptr->rx - network_stats_diff_ptr->rx;        
248 >                        network_stats_diff_ptr->tx = transfer_diff(network_stats_ptr->tx, network_stats_diff_ptr->tx);
249 >                        network_stats_diff_ptr->rx = transfer_diff(network_stats_ptr->rx, network_stats_diff_ptr->rx);
250                          network_stats_diff_ptr->systime = network_stats_ptr->systime - network_stats_diff_ptr->systime;
251                  }else{
252                          
253                          network_stats_ptr=network_stats;
254                          for(y=0;y<ifaces;y++){
255                                  if((strcmp(network_stats_diff_ptr->interface_name, network_stats_ptr->interface_name))==0){
256 <                                        network_stats_diff_ptr->tx = network_stats_ptr->tx - network_stats_diff_ptr->tx;
257 <                                        network_stats_diff_ptr->rx = network_stats_ptr->rx - network_stats_diff_ptr->rx;        
256 >                                        network_stats_diff_ptr->tx = transfer_diff(network_stats_ptr->tx, network_stats_diff_ptr->tx);
257 >                                        network_stats_diff_ptr->rx = transfer_diff(network_stats_ptr->rx, network_stats_diff_ptr->rx);  
258                                          network_stats_diff_ptr->systime = network_stats_ptr->systime - network_stats_diff_ptr->systime;
259                                          break;
260                                  }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines